Пример #1
0
 //Constructors
 public Control(Control_Types name)
 {
     this.name         = name;
     hasGamePadControl = false;
     mouse             = false;
     isAlternate       = false;
     this.kbControl    = Keys.None;
     mControl          = MouseButtons.None;
 }
Пример #2
0
 /// <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;
 }
Пример #3
0
 /// <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;
 }
Пример #4
0
 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;
 }
Пример #5
0
        /// <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;
                    }
                }
            }
        }