Files
Engine-Template/Shared/UniverseSource.cs

53 lines
2.9 KiB
C#

using Engine.Core;
using Engine.Systems.Graphics;
using Engine.Systems.Tween;
using MyUniverse.Shared.Behaviours;
namespace MyUniverse.Shared;
public static class UniverseSource
{
public static void ApplyCore(IUniverse universe)
{
IUniverseObject coreManagersUO = universe.InstantiateUniverseObject().SetUniverseObject("Core Managers");
coreManagersUO.AddChild(universe.InstantiateUniverseObject().SetUniverseObject("Entrance Manager").BehaviourController.AddBehaviour<UniverseEntranceManager>().UniverseObject);
coreManagersUO.AddChild(universe.InstantiateUniverseObject().SetUniverseObject("Update Manager").BehaviourController.AddBehaviour<UpdateManager>().UniverseObject);
coreManagersUO.AddChild(universe.InstantiateUniverseObject().SetUniverseObject("Coroutine Manager").BehaviourController.AddBehaviour<CoroutineManager>().UniverseObject);
coreManagersUO.AddChild(universe.InstantiateUniverseObject().SetUniverseObject("Tween Manager").BehaviourController.AddBehaviour<TweenManager>().UniverseObject);
}
public static void ApplyUniverse(IUniverse universe)
{
universe.InstantiateUniverseObject().SetUniverseObject("Example Object")
.BehaviourController.AddBehaviour<ExampleBehaviour>();
universe.InstantiateUniverseObject()
.SetUniverseObject("Rotating Triangle")
.BehaviourController.AddBehaviour<Transform2D>().SetTransform(position: new(10f, 6f), scale: Vector2D.One * 5)
.BehaviourController.AddBehaviour<DrawableShape2D>(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<DrawableShape2D>(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<DrawableShape2D>(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<DrawableShape2D>(Shape2D.Pentagon, new ColorRGB(128, 0, 128))
.BehaviourController.AddBehaviour<TweenRotator>()
.BehaviourController.AddBehaviour<RotatorToggler>();
}
}