コード例 #1
0
        public void update(GameTime gametime)
        {
            camera.update(gametime, new Vector2(840, 0));
            keyboardstate = Keyboard.GetState();
            switch (gametype)
            {
            case GameType.Menu_Base_Type:
                menubase.update(gametime, ref gametype, ref previousgametype);
                previousgametype = GameType.Exit;
                break;

            case GameType.Menu_Play_Type:
                menuplay.update(gametime, ref gametype, ref previousgametype);
                previousgametype = GameType.Menu_Base_Type;
                break;

            case GameType.Menu_Play_Solo_Type:
                menuSolo.update(gametime, ref gametype, ref previousgametype);
                previousgametype = GameType.Menu_Play_Type;
                break;

            case GameType.Menu_Play_Solo_World1_Type:
                menusolo1.update(gametime, ref gametype, ref previousgametype);
                previousgametype = GameType.Menu_Play_Solo_Type;
                break;

            case GameType.Menu_Play_Solo_World2_Type:
                menusolo2.update(gametime, ref gametype, ref previousgametype);
                previousgametype = GameType.Menu_Play_Solo_Type;
                break;

            case GameType.Menu_Play_Multi_Type:
                // menuMulti.update(gametime, ref gametype, ref previousgametype);
                camera.update(gametime, casper.Position);
                casper.update(gametime, controls, gametype, level1);
                player2.update(gametime, controlsPlayer2, gametype, level1);

                Game1.GetGame().IsMouseVisible = false;
                if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape))
                {
                    previousgametype = GameType.Menu_Play_Multi_Type;
                    casper.update(gametime, controls, gametype, level1);
                    player2.update(gametime, controlsPlayer2, gametype, level1);

                    Game1.GetGame().IsMouseVisible = true;
                    MediaPlayer.Stop();
                    MediaPlayer.Play(SoundManager.pause);
                    gametype = GameType.Menu_Pause;
                }
                previouskeyboardstate = keyboardstate;
                break;

            case GameType.Menu_Option_Type:
                menuoptions.update(gametime, ref gametype, ref previousgametype);
                previousgametype = GameType.Menu_Base_Type;
                break;

            case GameType.Menu_Play_Solo_world1_lvl1:
                camera.update(gametime, casper.Position);
                casper.update(gametime, controls, gametype, level1);
                Game1.GetGame().IsMouseVisible = false;
                if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape))
                {
                    //casper.update(gametime);
                    Game1.GetGame().IsMouseVisible = true;
                    MediaPlayer.Stop();
                    MediaPlayer.Play(SoundManager.pause);
                    gametype         = GameType.Menu_Pause;
                    previousgametype = GameType.Menu_Play_Solo_world1_lvl1;
                }
                previouskeyboardstate = keyboardstate;
                break;

            case GameType.Menu_Play_Solo_world2_lvl1:
                camera.update(gametime, casper2.Position);
                casper2.update(gametime, controlsPlayer2, gametype, level1);
                Game1.GetGame().IsMouseVisible = false;
                if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape))
                {
                    //casper.update(gametime);
                    Game1.GetGame().IsMouseVisible = true;
                    MediaPlayer.Stop();
                    MediaPlayer.Play(SoundManager.pause);
                    gametype         = GameType.Menu_Pause;
                    previousgametype = GameType.Menu_Play_Solo_world2_lvl1;
                }
                previouskeyboardstate = keyboardstate;

                break;

            case GameType.Exit:
                Game1.GetGame().Exit();
                break;

            case GameType.Menu_Pause:
                camera.update(gametime, casper.Position);
                if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape))
                {
                    Game1.GetGame().IsMouseVisible = false;
                    gametype = previousgametype;
                    MediaPlayer.Stop();
                    MediaPlayer.Play(SoundManager.ingame);
                }
                menupause.update(gametime, ref gametype, ref previousgametype, camera.centre);
                previouskeyboardstate = keyboardstate;
                break;

            case GameType.Menu_Pause_Option:
                camera.update(gametime, casper.Position);
                menupauseoption.update(gametime, ref gametype, ref previousgametype, camera.centre);
                break;

            default:
                menubase.update(gametime, ref gametype, ref previousgametype);
                break;
            }
        }