예제 #1
0
        protected override void Update(GameTime gameTime)
        {
            CurrentFrame++;
            Now = (float)gameTime.TotalGameTime.Ticks / 10000000f;
            DT  = (float)gameTime.ElapsedGameTime.Ticks / 10000000f;

            Input.Update(DT);
            Sound.Update(DT);

            if (State == GameState.Menu)
            {
                _mainMenu.Update(DT);
            }
            else if (State == GameState.Game)
            {
                Console.Update(DT);
                WindowManager.Update(DT);
                AreaChanger.Update(DT);
                GUI.Update(DT);
                PopupMessageManager.Update(DT);

                //Toggle options/exit
                if (/*!deathEffectManager->isActive() && */ !WindowManager.IsWindowOpen && SMH.Input.IsDown(Keys.Escape))
                {
                    SMH.WindowManager.OpenMiniMenu(MiniMenuMode.Exit);
                }

                if (!WindowManager.IsWindowOpen && !AreaChanger.IsChangingAreas)
                {
                    GameTime += DT;

                    Player.Update(DT);
                    Environment.Update(DT);
                    EnemyManager.Update(DT);
                    LootManager.Update(DT);
                    ProjectileManager.Update(DT);
                    NPCManager.Update(DT);
                }
            }
        }