private void CreateSystems() { ISystem newSystem; newSystem = new SystemRender(); systemManager.AddSystem(newSystem); //adding the physics newSystem = new SystemPhysics(); systemManager.AddSystem(newSystem); //adding the audio newSystem = new SystemAudio(); systemManager.AddSystem(newSystem); //Adding the collision system(s) newSystem = new SystemCameraSphereCollision(ref camera); systemManager.AddSystem(newSystem); newSystem = new SystemCameraLineCollision(ref camera); systemManager.AddSystem(newSystem); newSystem = new SystemSkybox(ref camera); systemManager.AddSystem(newSystem); newSystem = new SystemBumpRender(); systemManager.AddSystem(newSystem); newSystem = new SystemEnemyNodeTraversal(ref camera); systemManager.AddSystem(newSystem); newSystem = new SystemPatrolNodeTraversal(ref camera); systemManager.AddSystem(newSystem); }
private void CreateSystems() { ISystem newSystem; newSystem = new SystemRender(); systemManager.AddSystem(newSystem); newSystem = new SystemPhysics(); systemManager.AddSystem(newSystem); newSystem = new SystemAudio(); systemManager.AddSystem(newSystem); }
private void CreateSystems() { ISystem newSystem; ComponentPosition pos = (ComponentPosition)entityManager.FindEntity("Banana").FindComponent(ComponentTypes.COMPONENT_POSITION); newSystem = new SystemRender(); systemManager.AddSystem(newSystem); newSystem = new SystemCollision(pos.Position); systemManager.AddSystem(newSystem); newSystem = new SystemPhysics(ref sceneManager.cam); systemManager.AddSystem(newSystem); newSystem = new SystemSkyBox(ref sceneManager.cam); systemManager.AddSystem(newSystem); }
public static async Task Init(InitCallback initCallback, params Func <Task>[] initTasks) { if (null != Instance) { throw new ApplicationException("SystemManager already exsited, can't run Init more than once!"); } var go = new GameObject("Systems", typeof(SystemManager)); DontDestroyOnLoad(go); SystemInitLog.Log("----------Initialize Game----------"); for (int i = 0; i < initTasks.Length; ++i) { var func = initTasks[i]; string sysName = GetName(func); initCallback(0, sysName, (float)i / initTasks.Length); SystemInitLog.Log(sysName); await func(); Instance.AddSystem(func); initCallback(0, sysName, (float)(i + 1) / initTasks.Length); } SystemInitLog.Log("----------Initialize Finished----------"); }
private void CreateSystems() { SystemBase newSystem; systemManager.InitializeSystem(); newSystem = new SystemPlayerController(); systemManager.AddSystem(newSystem); newSystem = new SystemTimedDestroy(); systemManager.AddSystem(newSystem); newSystem = new SystemAI(); systemManager.AddSystem(newSystem); newSystem = new SystemFollow(); systemManager.AddSystem(newSystem); }
private void TestStateComponent() { var context = ContextFactory.CreateEntitiesContext(); EntityManager entityManager = context.GetManager <EntityManager>(); SystemManager systemManager = context.GetManager <SystemManager>(); var componentAddTestSystem = new ComponentAddTestSystem(); systemManager.AddSystem(componentAddTestSystem); systemManager.AddSystem(new ComponentAddProgressTestSystem()); for (int i = 0; i < entityCount; i++) { entityManager.CreateEntity(ComponentType.Create <Progress>()); } for (int i = 0; i < updateCount; i++) { context.Update(); } // Console.WriteLine("State: " + componentAddTestSystem.updatedSystems); }
public void StartMainMenu() { gameState = GameState.MainMenu; stateEnterTime = Time.timeSinceGameStarted; CursorVisible = true; entityManager.DeleteAllEntities(); entity = new Entity("Main Menu Background", new ComponentUI("MainMenu.png")); entity.transform.scale = new Vector3(1280, 760, 0); entity.transform.position = new Vector3(Width / 2, Height / 2, 0); entityManager.AddEntity(entity); entity = new Entity("Click To Start", new ComponentUI("Click To Start.png")); entity.transform.scale = new Vector3(491, 70, 0); entity.transform.position = new Vector3(Width / 2, Height / 3f, 0f); entityManager.AddEntity(entity); systemManager.DeleteAllSystems(); systemManager.AddSystem(new SystemRenderUI(Width, Height)); }
/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// </summary> protected override void Initialize() { ComponentManager cm = ComponentManager.GetInstance(); basicEffect = new BasicEffect(GraphicsDevice) { Alpha = 1f, // Want to see the colors of the vertices, this needs to be on VertexColorEnabled = true, //Lighting requires normal information which VertexPositionColor does not have //If you want to use lighting and VPC you need to create a custom def LightingEnabled = false }; //Create all systems sm.AddSystem(new TransformSystem()); sm.AddSystem(new CameraSystem()); sm.AddSystem(new HeightMapSystem()); sm.AddSystem(new ModelSystem()); sm.AddSystem(new TrackingCameraSystem()); sm.AddSystem(new RectangleSystem()); sm.AddSystem(new AnimationSystem()); sm.AddSystem(new PlayerSystem()); sm.AddSystem(new ModelInstanceSystem()); sm.AddSystem(new BoundingBoxSystem()); //Create all entities int heightmap = EntityFactory.CreateTerrain(GraphicsDevice, "US_Canyon", "checkerboard"); int apa1 = EntityFactory.CreateModel("column"); int apa2 = EntityFactory.CreateModel("roger"); EntityFactory.CreateVeggies(GraphicsDevice, apa1, 200); EntityFactory.CreateVeggies(GraphicsDevice, apa2, 200); int player = EntityFactory.CreatePlayerBodyLegs(GraphicsDevice, Vector3.One * 0.05f); EntityFactory.CreateTrackingCamera(GraphicsDevice, player); base.Initialize(); }
private void CreateSystems() { ISystem newSystem; newSystem = new SystemRender(shaderManager.FindShader("pbrShader")); systemManager.AddSystem(newSystem); newSystem = new SystemPhysics(entityManager.Entities()); systemManager.AddSystem(newSystem); newSystem = new SystemBox(entityManager.Entities()); systemManager.AddSystem(newSystem); newSystem = new SystemDoomSphere(entityManager.Entities()); systemManager.AddSystem(newSystem); newSystem = new SystemCollsion(entityManager.Entities()); systemManager.AddSystem(newSystem); systemManager.StartTimer(); }
/// <summary> /// Init game engine /// </summary> public void InitForXml(string gameName) { is_running = true; // Init managers _xmlManager.Init(this); _inputManager.Init(this); _displayWindow.Init(this); _soundManager.Init(this); _sceneManager.Init(this); _eventManager.Init(this); _actionManager.Init(this); // Load game file _xmlManager.LoadGameFile(gameName); // Get properties from game data file. GameProperties gameProperties = _xmlManager.LoadGameProperties(); _displayWindow.InitFormProperties(gameProperties.GameName, gameProperties.ScreenWidth, gameProperties.ScreenHeight); // Loas all the scenes and set the current scene _sceneManager.InitScenes(0); _systemManager.Init(this); // Need to add them in the order they will be executed _systemManager.AddSystem(new EventSystem()); _systemManager.AddSystem(new ScriptSystem()); _systemManager.AddSystem(new MoveSystem()); _systemManager.AddSystem(new PhysicsSystem()); _systemManager.AddSystem(new CollisionSystem()); _systemManager.AddSystem(new RenderSystem()); }
public void AddSystem() { var system = Substitute.For <ISystem>(); systemManager.AddSystem(system); Assert.That(systemManager.Systems.Count == 1); }
/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// </summary> protected override void Initialize() { ComponentManager cm = ComponentManager.GetInstance(); basicEffect = new BasicEffect(GraphicsDevice) { Alpha = 1f, // Want to see the colors of the vertices, this needs to be on VertexColorEnabled = true, //Lighting requires normal information which VertexPositionColor does not have //If you want to use lighting and VPC you need to create a custom def LightingEnabled = false }; //Create all systems sm.AddSystem(new TransformSystem()); sm.AddSystem(new CameraSystem()); sm.AddSystem(new HeightMapSystem()); sm.AddSystem(new ModelSystem()); sm.AddSystem(new ChopperSystem()); sm.AddSystem(new TrackingCameraSystem()); //Create all entities int chopperId = EntityFactory.CreateChopper(GraphicsDevice, "Chopper"); int c = EntityFactory.CreateCamera(GraphicsDevice, chopperId); EntityFactory.CreateHeightMap(GraphicsDevice, "US_Canyon"); //cm.AddEntityWithComponents(new TrackingCameraComponent(chopperId, new Vector3(10))); base.Initialize(); }
private void Test10Events() { var context = ContextFactory.CreateEntitiesContext(); EntityManager entityManager = context.GetManager <EntityManager>(); SystemManager systemManager = context.GetManager <SystemManager>(); systemManager.AddSystem(new EventUpdateTestSystem()); EventTestSystem eventTestSystem = null; for (int i = 0; i < 10; i++) { eventTestSystem = new EventTestSystem(); systemManager.AddSystem(eventTestSystem); } for (int i = 0; i < entityCount; i++) { entityManager.CreateEntity(ComponentType.Create <Progress>()); } for (int i = 0; i < updateCount; i++) { context.Update(); } // Console.WriteLine("Event: " + eventTestSystem.updatedSystems); }
private void CreateSystems() { ISystem newSystem; newSystem = new SystemMinimap(minimap); systemManager.AddSystem(newSystem); newSystem = new SystemRender(); systemManager.AddSystem(newSystem); newSystem = new SystemLighting(); systemManager.AddSystem(newSystem); newSystem = new SystemInput(); systemManager.AddSystem(newSystem); newSystem = new SystemPhysics(); systemManager.AddSystem(newSystem); newSystem = new SystemAI(); systemManager.AddSystem(newSystem); newSystem = new SystemPickUp(); systemManager.AddSystem(newSystem); newSystem = new SystemAudio(); systemManager.AddSystem(newSystem); }
/// <summary> /// Creates the used <see cref="Mortar.Core.Systems.SystemManager"/> and add certain core systems. /// </summary> private void PrepareSystemManager() { SystemManager = new SystemManager(); SystemManager.AddSystem(new EntitySystem(this)); SystemManager.AddSystem(new InputSystem(this)); SystemManager.AddSystem(new TimerSystem(this)); SystemManager.AddSystem(new ConsoleSystem(this)); SystemManager.AddSystem(new SceneSystem(this)); SystemManager.AddSystem(new HotspotSystem(this)); }
public void AddSystem(System system) { systemManager.AddSystem(system); system.AddedToEngine(this); }
private void InitializeSystems(SpriteMapper spriteMapper) { // Prepare the systems SystemManager systemManager = new SystemManager(entityManager); systemManager.AddSystem(new RenderSystem(this, camera, spriteBatch, spriteMapper)); systemManager.AddSystem(new InputSystem()); GridSystem gridSystem = new GridSystem(); entityGrid = gridSystem.EntityGrid; systemManager.AddSystem(gridSystem); #if DEBUG systemManager.AddSystem(new CollisionSystem(GraphicsDevice, Content, camera)); #else systemManager.AddSystem(new CollisionSystem()); #endif systemManager.AddSystem(new PowerUpSystem(entityGrid)); systemManager.AddSystem(new ExplosionSystem(entityGrid)); systemManager.AddSystem(new BombSystem()); systemManager.AddSystem(new MessageHandlerSystem()); systemManager.AddSystem(new SoundSystem(Content)); systemManager.AddSystem(new ScriptsSystem()); systemManager.AddSystem(new FrameAnimationSystem(spriteMapper)); systemManager.AddSystem(new GameStateSystem(this, entityGrid, spriteBatch, Content.Load <SpriteFont>("GUI"))); systemManager.AddSystem(new PlayerSystem()); }
public T AddSystem <T>() where T : ProvenceSystem, new() { return(systemManager.AddSystem <T>()); }
public void AddSystem(Systems.System system) { systemManager.AddSystem(system); }