public MainMenu() { currentState = Enums.MainMenuStates.MAIN; currentButton = Enums.MainMenuButtons.START; currentControlButton = Enums.MainMenuButtons.CONTROLNO; buttonPressed = true; controlWindowOpen = false; controlButtonPressed = true; options = new Options(); }
public void Update(Game1 Game) { switch (currentState) { case Enums.MainMenuStates.MAIN: if ((Keyboard.GetState().IsKeyDown(Keys.W) || Keyboard.GetState().IsKeyDown(Keys.Up) || GamePad.GetState(0).IsButtonDown(Buttons.DPadUp) || GamePad.GetState(0).ThumbSticks.Left.Y > 0.5f) && !buttonPressed && !controlWindowOpen) { currentButton--; if (currentButton < 0) currentButton = Enums.MainMenuButtons.EXIT; buttonPressed = true; } if ((Keyboard.GetState().IsKeyDown(Keys.S) || Keyboard.GetState().IsKeyDown(Keys.Down) || GamePad.GetState(0).IsButtonDown(Buttons.DPadDown) || GamePad.GetState(0).ThumbSticks.Left.Y < -0.5f) && !buttonPressed && !controlWindowOpen) { currentButton++; if (currentButton > Enums.MainMenuButtons.EXIT) currentButton = Enums.MainMenuButtons.START; buttonPressed = true; } if ((Keyboard.GetState().IsKeyDown(Keys.Enter) || GamePad.GetState(0).IsButtonDown(Buttons.A)) && !buttonPressed) { buttonPressed = true; switch (currentButton) { case Enums.MainMenuButtons.START: controlWindowOpen = true; break; case Enums.MainMenuButtons.RESUME: Game1.currentGameState = Game1.GameState.GAMELOOP; break; case Enums.MainMenuButtons.OPTIONS: currentState = Enums.MainMenuStates.OPTION; break; case Enums.MainMenuButtons.CREDITS: Game1.currentGameState = Game1.GameState.CREDITS; break; case Enums.MainMenuButtons.EXIT: Game.Exit(); break; } } if (Keyboard.GetState().GetPressedKeys().Count() == 0 && GamePad.GetState(0).IsButtonUp(Buttons.DPadUp) && GamePad.GetState(0).IsButtonUp(Buttons.A) && GamePad.GetState(0).IsButtonUp(Buttons.DPadDown) && GamePad.GetState(0).ThumbSticks.Left.Y < 0.5f && GamePad.GetState(0).ThumbSticks.Left.Y > -0.5f) { buttonPressed = false; } break; case Enums.MainMenuStates.OPTION: options.Update(this); break; } }
void newGameControlScreen(SpriteFont Font, SpriteBatch SpriteBatch, Dictionary<string, Texture2D> texturesDictionary, LoadAndSave loadAndSave, ref List<GameObject> allGameObjects, ref Player player, Game1 game1) { controlWindowOpen = true; if ((Keyboard.GetState().IsKeyDown(Keys.W) || Keyboard.GetState().IsKeyDown(Keys.Up) || GamePad.GetState(0).IsButtonDown(Buttons.DPadUp) || GamePad.GetState(0).ThumbSticks.Left.Y > 0.5f) && !controlButtonPressed && controlWindowOpen) { currentControlButton--; if (currentControlButton < Enums.MainMenuButtons.CONTROLYES) currentControlButton = Enums.MainMenuButtons.CONTROLNO; controlButtonPressed = true; } if ((Keyboard.GetState().IsKeyDown(Keys.S) || Keyboard.GetState().IsKeyDown(Keys.Down) || GamePad.GetState(0).IsButtonDown(Buttons.DPadDown) || GamePad.GetState(0).ThumbSticks.Left.Y < -0.5f) && !controlButtonPressed && controlWindowOpen) { currentControlButton++; if (currentControlButton > Enums.MainMenuButtons.CONTROLNO) currentControlButton = Enums.MainMenuButtons.CONTROLYES; controlButtonPressed = true; } switch (currentControlButton) { case Enums.MainMenuButtons.CONTROLYES: SpriteBatch.Draw(texturesDictionary["MainMenu1"], new Rectangle(0, 0, 1920, 1080), Color.White); break; case Enums.MainMenuButtons.CONTROLNO: SpriteBatch.Draw(texturesDictionary["MainMenu2"], new Rectangle(0, 0, 1920, 1080), Color.White); break; } if ((Keyboard.GetState().IsKeyDown(Keys.Enter)|| GamePad.GetState(0).IsButtonDown(Buttons.A)) && !controlButtonPressed) { switch (currentControlButton) { case Enums.MainMenuButtons.CONTROLYES: game1.NewGame(); LoadNewGame(loadAndSave); Game1.currentGameState = Game1.GameState.GAMELOOP; controlWindowOpen = false; break; case Enums.MainMenuButtons.CONTROLNO: controlWindowOpen = false; break; } controlButtonPressed = true; } if (Keyboard.GetState().GetPressedKeys().Count() == 0 && GamePad.GetState(0).IsButtonUp(Buttons.DPadUp) && GamePad.GetState(0).IsButtonUp(Buttons.A) && GamePad.GetState(0).IsButtonUp(Buttons.DPadDown) &&GamePad.GetState(0).ThumbSticks.Left.Y < 0.5f && GamePad.GetState(0).ThumbSticks.Left.Y > -0.5f) { controlButtonPressed = false; } SpriteBatch.DrawString(Font, "Ja", new Vector2(1400, 200), Color.Black, 0, new Vector2(0, 0), 1, SpriteEffects.None, 0); SpriteBatch.DrawString(Font, "Nein", new Vector2(1400, 360), Color.Black, 0, new Vector2(0, 0), 1, SpriteEffects.None, 0); SpriteBatch.DrawString(Font, "Echt jetzt?", new Vector2(1400, 50), Color.Black, 0, new Vector2(0, 0), 1, SpriteEffects.None, 0); }