예제 #1
0
        public GameAction Update()
        {
            gameAction = GameAction.Nothing;

            for (var i = 0; i < Player.MaxPlayerCount; i++)
            {
                if (Players[i].InGame)
                {
                    playerBehavior.PlayerThink(Players[i]);
                }
            }

            thinkers.Run();
            specials.Update();
            statusBar.Update();
            autoMap.Update();

            levelTime++;

            var mobjHash   = DoomDebug.GetMobjHash(this);
            var sectorHash = DoomDebug.GetSectorHash(this);

            //Console.WriteLine(levelTime + ": " + mobjHash.ToString("x8") + ", " + sectorHash.ToString("x8"));

            return(gameAction);
        }
예제 #2
0
        public UpdateResult Update()
        {
            var players = options.Players;

            for (var i = 0; i < Player.MaxPlayerCount; i++)
            {
                if (players[i].InGame)
                {
                    playerBehavior.PlayerThink(players[i]);
                }
            }

            thinkers.Run();
            specials.Update();
            thingAllocation.RespawnSpecials();

            statusBar.Update();
            autoMap.Update();

            levelTime++;

            if (completed)
            {
                return(UpdateResult.Completed);
            }
            else
            {
                if (doneFirstTic)
                {
                    return(UpdateResult.None);
                }
                else
                {
                    doneFirstTic = true;
                    return(UpdateResult.NeedWipe);
                }
            }
        }