//----------------------------------------------------------------------------- // Game::Update() // Called once per frame, update data, tranformations, etc // Use this function to control process order // Input, AI, Physics, Animation, and Graphics //----------------------------------------------------------------------------- public override void Update() { //check time; //Debug.WriteLine("Simulation.GetTimeStep() = {0}", Simulation.GetTimeStep()); //Debug.WriteLine("Simulation.GetTotalTime() = {0}", Simulation.GetTotalTime()); //Update game simulation // Single Step, Free running... Simulation.Update(this.GetTime()); //always update input asap InputManager.Update(); // Run based on simulation stepping if (Simulation.GetTimeStep() > 0.0f) { // Fire off the timer events //with simulator timer TimerEventManager.Update(Simulation.GetTotalTime()); ////no simulator timer //TimerEventManager.Update(this.GetTime()); // Do the collision checks ColPairManager.Process(); //GameObjectManager updates ALL game objects and sprite positions // remember each game object has a proxy sprite attached GameObjectManager.Update(); GridManager.UpdateBombDrop(); } ////Original, No Simulation --------------------------------------------------- ////always update input asap //InputMan.Update(); //// Fire off the timer events //TimerMan.Update(this.GetTime()); //// Do the collision checks //ColPairMan.Process(); ////GameObjectManager updates ALL game objects and sprite positions //// remember each game object has a proxy sprite attached //// walk through all objects and push to flyweight //GameObjectMan.Update(); //// Delete any objects here... //DelayedObjectMan.Process(); }
// Should be called during the Update part of gameloop public override void Update(GameManager pGameManager) { // Debug.WriteLine("Tick" + this.GetTime()); InputManager.Update(); // Sprite animations and motions being handled in TimerManger TimerManager.Update(pGameManager.pGame.GetTime()); // Pushes updates from Gameobjects to proxysprites GameObjectManager.Update(); ColPairManager.Process(); DelayedObjectManager.Process(); pGameManager.HandleEndOfPlayerTurn(); }