コード例 #1
0
 public GameScreen(GraphicsDeviceManager graphics, ContentManager content, World.Day day) : base(graphics, content)
 {
     Input.Reset();
     timer           = -ReadyLength; // Game starts at 0
     levelOverTimer  = 0;
     RestartLevel    = false;
     NextLevel       = false;
     GoToLevelSelect = false;
     world           = new World(day);
     controllers     = new ControllerSet(world);
     renderer        = new Renderer(graphics, world, content);
 }
コード例 #2
0
        public override bool Update(float dt)
        {
            DayOfWeek = world.DayOfWeek;
            setGameState(dt);
            Input.Update(gameState);
            if (gameState == GameState.Playing)
            {
                controllers.Update(dt);
            }

            // Swap screen?
            if (Input.MainMenu)
            {
                GoToLevelSelect = true;
                return(true);
            }
            if (levelOverTimer >= LevelOverLength)
            {
                // Win
                if (world.Enemies.Count == 0)
                {
                    NextLevel = true;
                }
                else
                {
                    RestartLevel = true;
                }
                return(true);
            }
            if (Input.Restart)
            {
                RestartLevel = true;
                return(true);
            }

            return(false);
        }