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().UniverseObject); coreManagersUO.AddChild(universe.InstantiateUniverseObject().SetUniverseObject("Update Manager").BehaviourController.AddBehaviour().UniverseObject); coreManagersUO.AddChild(universe.InstantiateUniverseObject().SetUniverseObject("Coroutine Manager").BehaviourController.AddBehaviour().UniverseObject); coreManagersUO.AddChild(universe.InstantiateUniverseObject().SetUniverseObject("Tween Manager").BehaviourController.AddBehaviour().UniverseObject); } public static void ApplyUniverse(IUniverse universe) { universe.InstantiateUniverseObject().SetUniverseObject("Example Object") .BehaviourController.AddBehaviour(); universe.InstantiateUniverseObject() .SetUniverseObject("Rotating Triangle") .BehaviourController.AddBehaviour().SetTransform(position: new(10f, 6f), scale: Vector2D.One * 5) .BehaviourController.AddBehaviour(Shape2D.Triangle, new ColorRGB(0, 128, 128)) .BehaviourController.AddBehaviour(); universe.InstantiateUniverseObject() .SetUniverseObject("Rotating Pentagon") .BehaviourController.AddBehaviour().SetTransform(position: new(10f, -6f), scale: Vector2D.One * 5) .BehaviourController.AddBehaviour(Shape2D.Pentagon, new ColorRGB(128, 0, 128)) .BehaviourController.AddBehaviour(); universe.InstantiateUniverseObject() .SetUniverseObject("Rotating Triangle") .BehaviourController.AddBehaviour().SetTransform(position: new(-10f, 6f), scale: Vector2D.One * 5) .BehaviourController.AddBehaviour(Shape2D.Triangle, new ColorRGB(0, 128, 128)) .BehaviourController.AddBehaviour() .BehaviourController.AddBehaviour(); universe.InstantiateUniverseObject() .SetUniverseObject("Rotating Pentagon") .BehaviourController.AddBehaviour().SetTransform(position: new(-10f, -6f), scale: Vector2D.One * 5) .BehaviourController.AddBehaviour(Shape2D.Pentagon, new ColorRGB(128, 0, 128)) .BehaviourController.AddBehaviour() .BehaviourController.AddBehaviour(); } }