예제 #1
0
        //-----------------------------------------------------------------------------
        // 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();
        }
예제 #2
0
        // 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();
        }