62 lines
2.9 KiB
C#
62 lines
2.9 KiB
C#
|
|
using MyUniverse.Shared.Behaviours;
|
|
|
|
using Engine.Core;
|
|
using Engine.Integration.MonoGame;
|
|
using Engine.Systems.Tween;
|
|
|
|
namespace MyUniverse.Shared;
|
|
|
|
public static class UniverseSource
|
|
{
|
|
public static void ApplyCore(IUniverse universe)
|
|
{
|
|
universe.InstantiateUniverseObject().SetUniverseObject("Core Managers")
|
|
.BehaviourController.AddBehaviour<UpdateManager>()
|
|
.BehaviourController.AddBehaviour<CoroutineManager>()
|
|
.BehaviourController.AddBehaviour<TweenManager>()
|
|
.BehaviourController.AddBehaviour<TriangleBatcher>()
|
|
.BehaviourController.AddBehaviour<SpriteBatcher>()
|
|
.BehaviourController.AddBehaviour<UniverseEntranceManager>();
|
|
|
|
MonoGameCamera2D camera = universe.InstantiateUniverseObject().SetUniverseObject("Camera")
|
|
.BehaviourController.AddBehaviour<Transform2D>()
|
|
.BehaviourController.AddBehaviour<MonoGameCamera2D>();
|
|
|
|
camera.Zoom = 20f;
|
|
}
|
|
|
|
public static void ApplyUniverse(IUniverse universe)
|
|
{
|
|
ApplyCore(universe);
|
|
|
|
IUniverseObject exampleObject = universe.InstantiateUniverseObject().SetUniverseObject("Example Object");
|
|
ExampleBehaviour exampleBehaviour = exampleObject.BehaviourController.AddBehaviour<ExampleBehaviour>();
|
|
|
|
universe.InstantiateUniverseObject()
|
|
.SetUniverseObject("Rotating Triangle")
|
|
.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new(10f, 6f), scale: Vector2D.One * 5)
|
|
.BehaviourController.AddBehaviour<DrawableShape>(Shape2D.Triangle, new ColorRGB(0, 128, 128))
|
|
.BehaviourController.AddBehaviour<LinearRotator>();
|
|
|
|
universe.InstantiateUniverseObject()
|
|
.SetUniverseObject("Rotating Pentagon")
|
|
.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new(10f, -6f), scale: Vector2D.One * 5)
|
|
.BehaviourController.AddBehaviour<DrawableShape>(Shape2D.Pentagon, new ColorRGB(128, 0, 128))
|
|
.BehaviourController.AddBehaviour<TweenRotator>();
|
|
universe.InstantiateUniverseObject()
|
|
.SetUniverseObject("Rotating Triangle")
|
|
.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new(-10f, 6f), scale: Vector2D.One * 5)
|
|
.BehaviourController.AddBehaviour<DrawableShape>(Shape2D.Triangle, new ColorRGB(0, 128, 128))
|
|
.BehaviourController.AddBehaviour<LinearRotator>()
|
|
.BehaviourController.AddBehaviour<RotatorToggler>();
|
|
|
|
universe.InstantiateUniverseObject()
|
|
.SetUniverseObject("Rotating Pentagon")
|
|
.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new(-10f, -6f), scale: Vector2D.One * 5)
|
|
.BehaviourController.AddBehaviour<DrawableShape>(Shape2D.Pentagon, new ColorRGB(128, 0, 128))
|
|
.BehaviourController.AddBehaviour<TweenRotator>()
|
|
.BehaviourController.AddBehaviour<RotatorToggler>();
|
|
}
|
|
}
|