//Constructors public Control(Control_Types name) { this.name = name; hasGamePadControl = false; mouse = false; isAlternate = false; this.kbControl = Keys.None; mControl = MouseButtons.None; }
/// <summary> /// Constructor for a keyboard control /// </summary> public Control(Control_Types name, Keys kbControl) { this.name = name; mouse = false; this.kbControl = kbControl; mControl = MouseButtons.None; isAlternate = false; hasGamePadControl = false; gpControl = Buttons.BigButton; }
/// <summary> /// Constructor for a mouse control /// </summary> public Control(Control_Types name, MouseButtons mControl) { this.name = name; mouse = true; isAlternate = false; this.mControl = mControl; kbControl = Keys.None; hasGamePadControl = false; gpControl = Buttons.BigButton; }
public Control(Control_Types Name, Keys KeyBoardControl, Buttons GamePadControl, MouseButtons MouseControl, bool IsMouseControl, bool IsAlternate, bool HasGamePadControl) { this.name = Name; this.kbControl = KeyBoardControl; this.gpControl = GamePadControl; this.mControl = MouseControl; this.mouse = IsMouseControl; this.isAlternate = IsAlternate; this.hasGamePadControl = HasGamePadControl; }
/// <summary> /// The update for the options menu of the game /// </summary> public void UpdateOptionsMenu(GameTime gameTime) { UpdateInput(); if (ControlManager.Instance.Mode == Control_Mode.KBM) { String result; //Check if the player is currently setting a control if (ControlManager.Instance.Setting) { if (ControlManager.Instance.SetControl(cont, alt, out result)) { ControlManager.Instance.SaveControlFile(); } settingButton.Text = result; } else { //Scrolling the buttons down if (mState.ScrollWheelValue < prevMState.ScrollWheelValue && CanMoveDown()) { foreach (Button b in optionsMenuButtons) { if (b != optionsBackButton) { b.Y += 15; } } firePos.Y += 15; reloadPos.Y += 15; nextWeaponPos.Y += 15; prevWeaponPos.Y += 15; interactPos.Y += 15; } //Scrolling the buttons up else if (mState.ScrollWheelValue > prevMState.ScrollWheelValue && CanMoveUp()) { foreach (Button b in optionsMenuButtons) { if (b != optionsBackButton) { b.Y -= 15; } } firePos.Y -= 15; reloadPos.Y -= 15; nextWeaponPos.Y -= 15; prevWeaponPos.Y -= 15; interactPos.Y -= 15; } //Check if the button is selected foreach (Button b in optionsMenuButtons) { //If the button is the back button if (b == optionsBackButton && b.Contains(mState.Position.ToVector2())) { b.PrevSelected = b.Selected; b.Selected = true; if (!b.PrevSelected) { AudioManager.Instance.GetSoundEffect("Blip").Play(); } } //If its for any other buttons else if (b.Contains(mState.Position.ToVector2()) && controlRectangle.Contains(b.Area)) { b.PrevSelected = b.Selected; b.Selected = true; if (!b.PrevSelected) { AudioManager.Instance.GetSoundEffect("Blip").Play(); } } else { b.PrevSelected = b.Selected; b.Selected = false; } } //Check if button is clicked if (optionsBackButton.Selected && ((mState.LeftButton == ButtonState.Pressed && prevMState.LeftButton == ButtonState.Released) || (kbState.IsKeyDown(Keys.Enter) && prevKbState.IsKeyUp(Keys.Enter)))) { if (!ControlManager.Instance.Setting) { optionsBackButton.Selected = false; mainMenuChange = true; } } //FIRE BUTTONS else if (fireButton.Selected && ((mState.LeftButton == ButtonState.Pressed && prevMState.LeftButton == ButtonState.Released) || (kbState.IsKeyDown(Keys.Enter) && prevKbState.IsKeyUp(Keys.Enter)))) { settingButton = fireButton; cont = Control_Types.Fire; alt = false; ControlManager.Instance.Setting = true; } else if (fireAltButton.Selected && ((mState.LeftButton == ButtonState.Pressed && prevMState.LeftButton == ButtonState.Released) || (kbState.IsKeyDown(Keys.Enter) && prevKbState.IsKeyUp(Keys.Enter)))) { settingButton = fireAltButton; cont = Control_Types.Fire; alt = true; ControlManager.Instance.Setting = true; } //RELOAD BUTTONS else if (reloadButton.Selected && ((mState.LeftButton == ButtonState.Pressed && prevMState.LeftButton == ButtonState.Released) || (kbState.IsKeyDown(Keys.Enter) && prevKbState.IsKeyUp(Keys.Enter)))) { settingButton = reloadButton; cont = Control_Types.Reload; alt = false; ControlManager.Instance.Setting = true; } else if (reloadAltButton.Selected && ((mState.LeftButton == ButtonState.Pressed && prevMState.LeftButton == ButtonState.Released) || (kbState.IsKeyDown(Keys.Enter) && prevKbState.IsKeyUp(Keys.Enter)))) { settingButton = reloadAltButton; cont = Control_Types.Reload; alt = true; ControlManager.Instance.Setting = true; } //NEXT WEAPON else if (nextWeaponButton.Selected && ((mState.LeftButton == ButtonState.Pressed && prevMState.LeftButton == ButtonState.Released) || (kbState.IsKeyDown(Keys.Enter) && prevKbState.IsKeyUp(Keys.Enter)))) { settingButton = nextWeaponButton; cont = Control_Types.NextWeapon; alt = false; ControlManager.Instance.Setting = true; } else if (nextWeaponAltButton.Selected && ((mState.LeftButton == ButtonState.Pressed && prevMState.LeftButton == ButtonState.Released) || (kbState.IsKeyDown(Keys.Enter) && prevKbState.IsKeyUp(Keys.Enter)))) { settingButton = nextWeaponAltButton; cont = Control_Types.NextWeapon; alt = true; ControlManager.Instance.Setting = true; } //PREVIOUS WEAPON else if (prevWeaponButton.Selected && ((mState.LeftButton == ButtonState.Pressed && prevMState.LeftButton == ButtonState.Released) || (kbState.IsKeyDown(Keys.Enter) && prevKbState.IsKeyUp(Keys.Enter)))) { settingButton = prevWeaponButton; cont = Control_Types.PrevWeapon; alt = false; ControlManager.Instance.Setting = true; } else if (prevWeaponAltButton.Selected && ((mState.LeftButton == ButtonState.Pressed && prevMState.LeftButton == ButtonState.Released) || (kbState.IsKeyDown(Keys.Enter) && prevKbState.IsKeyUp(Keys.Enter)))) { settingButton = prevWeaponAltButton; cont = Control_Types.PrevWeapon; alt = true; ControlManager.Instance.Setting = true; } //INTERACT else if (interactButton.Selected && ((mState.LeftButton == ButtonState.Pressed && prevMState.LeftButton == ButtonState.Released) || (kbState.IsKeyDown(Keys.Enter) && prevKbState.IsKeyUp(Keys.Enter)))) { settingButton = interactButton; cont = Control_Types.Interact; alt = false; ControlManager.Instance.Setting = true; } else if (interactAltButton.Selected && ((mState.LeftButton == ButtonState.Pressed && prevMState.LeftButton == ButtonState.Released) || (kbState.IsKeyDown(Keys.Enter) && prevKbState.IsKeyUp(Keys.Enter)))) { settingButton = interactAltButton; cont = Control_Types.Interact; alt = true; ControlManager.Instance.Setting = true; } } } }