Exemplo n.º 1
0
 /// <summary>
 /// Sets the default key bindings
 /// </summary>
 public void Default()
 {
     binds[0]  = new InputKeyboard(kbState, Keys.W);
     binds[1]  = new InputKeyboard(kbState, Keys.S);
     binds[2]  = new InputKeyboard(kbState, Keys.A);
     binds[3]  = new InputKeyboard(kbState, Keys.D);
     binds[4]  = new InputMouse(mState, MouseButton.Left);
     binds[5]  = new InputMouse(mState, MouseButton.Right);
     binds[6]  = new InputKeyboard(kbState, Keys.D1);
     binds[7]  = new InputKeyboard(kbState, Keys.D2);
     binds[8]  = new InputKeyboard(kbState, Keys.D3);
     binds[9]  = new InputKeyboard(kbState, Keys.D4);
     binds[10] = new InputKeyboard(kbState, Keys.P);
 }
Exemplo n.º 2
0
        /// <summary>
        /// When called, it checks between previous states of both mouse and keyboard to bind the next key/button pressed to the specified action
        /// </summary>
        /// <param name="keyToBind">The action that you wish to be bound</param>
        public void Bind(Binds keyToBind)
        {
            //Previous states of mouse buttons
            ButtonState leftState, middleState, rightState;

            leftState   = prevMState.LeftButton;
            middleState = prevMState.MiddleButton;
            rightState  = prevMState.RightButton;

            Keys[] prevPressedKeys = prevKbState.GetPressedKeys(); //list of the key presses in the previous keyboard state
            Keys[] pressedKeys     = kbState.GetPressedKeys();     //list of the key presses in the current keyboard state

            /*
             * Each case is for a different action
             * Creates an inputType object that's either mouse or keyboard depending on the input
             * Stores the inputType object in binds in its corresponding index
             * */
            switch (keyToBind)
            {
            case Binds.Up:
                if (!(prevPressedKeys.Equals(pressedKeys)))
                {
                    InputKeyboard up = new InputKeyboard(kbState, pressedKeys[pressedKeys.Length - 1]);
                    binds[0] = up;
                }
                else if (leftState != mState.LeftButton)
                {
                    InputMouse up = new InputMouse(mState, MouseButton.Left);
                    binds[0] = up;
                }
                else if (middleState != mState.MiddleButton)
                {
                    InputMouse up = new InputMouse(mState, MouseButton.Middle);
                    binds[0] = up;
                }
                else if (rightState != mState.RightButton)
                {
                    InputMouse up = new InputMouse(mState, MouseButton.Right);
                    binds[0] = up;
                }
                else
                {
                    break;
                }
                break;

            case Binds.Down:
                if (!(prevPressedKeys.Equals(pressedKeys)))
                {
                    InputKeyboard down = new InputKeyboard(kbState, pressedKeys[pressedKeys.Length - 1]);
                    binds[1] = down;
                }
                else if (leftState != mState.LeftButton)
                {
                    InputMouse down = new InputMouse(mState, MouseButton.Left);
                    binds[1] = down;
                }
                else if (middleState != mState.MiddleButton)
                {
                    InputMouse down = new InputMouse(mState, MouseButton.Middle);
                    binds[1] = down;
                }
                else if (rightState != mState.RightButton)
                {
                    InputMouse down = new InputMouse(mState, MouseButton.Right);
                    binds[1] = down;
                }
                else
                {
                    break;
                }
                break;

            case Binds.Left:
                if (!(prevPressedKeys.Equals(pressedKeys)))
                {
                    InputKeyboard left = new InputKeyboard(kbState, pressedKeys[pressedKeys.Length - 1]);
                    binds[2] = left;
                }
                else if (leftState != mState.LeftButton)
                {
                    InputMouse left = new InputMouse(mState, MouseButton.Left);
                    binds[2] = left;
                }
                else if (middleState != mState.MiddleButton)
                {
                    InputMouse left = new InputMouse(mState, MouseButton.Middle);
                    binds[2] = left;
                }
                else if (rightState != mState.RightButton)
                {
                    InputMouse left = new InputMouse(mState, MouseButton.Right);
                    binds[2] = left;
                }
                else
                {
                    break;
                }
                break;

            case Binds.Right:
                if (!(prevPressedKeys.Equals(pressedKeys)))
                {
                    InputKeyboard right = new InputKeyboard(kbState, pressedKeys[pressedKeys.Length - 1]);
                    binds[3] = right;
                }
                else if (leftState != mState.LeftButton)
                {
                    InputMouse right = new InputMouse(mState, MouseButton.Left);
                    binds[3] = right;
                }
                else if (middleState != mState.MiddleButton)
                {
                    InputMouse right = new InputMouse(mState, MouseButton.Middle);
                    binds[3] = right;
                }
                else if (rightState != mState.RightButton)
                {
                    InputMouse right = new InputMouse(mState, MouseButton.Right);
                    binds[3] = right;
                }
                else
                {
                    break;
                }
                break;

            case Binds.Attack:
                if (!(prevPressedKeys.Equals(pressedKeys)))
                {
                    InputKeyboard attack = new InputKeyboard(kbState, pressedKeys[pressedKeys.Length - 1]);
                    binds[4] = attack;
                }
                else if (leftState != mState.LeftButton)
                {
                    InputMouse attack = new InputMouse(mState, MouseButton.Left);
                    binds[4] = attack;
                }
                else if (middleState != mState.MiddleButton)
                {
                    InputMouse attack = new InputMouse(mState, MouseButton.Middle);
                    binds[4] = attack;
                }
                else if (rightState != mState.RightButton)
                {
                    InputMouse attack = new InputMouse(mState, MouseButton.Right);
                    binds[4] = attack;
                }
                else
                {
                    break;
                }
                break;

            case Binds.UseAbility:
                if (!(prevPressedKeys.Equals(pressedKeys)))
                {
                    InputKeyboard useAbility = new InputKeyboard(kbState, pressedKeys[pressedKeys.Length - 1]);
                    binds[5] = useAbility;
                }
                else if (leftState != mState.LeftButton)
                {
                    InputMouse useAbility = new InputMouse(mState, MouseButton.Left);
                    binds[5] = useAbility;
                }
                else if (middleState != mState.MiddleButton)
                {
                    InputMouse useAbility = new InputMouse(mState, MouseButton.Middle);
                    binds[5] = useAbility;
                }
                else if (rightState != mState.RightButton)
                {
                    InputMouse useAbility = new InputMouse(mState, MouseButton.Right);
                    binds[5] = useAbility;
                }
                else
                {
                    break;
                }
                break;

            case Binds.Ability1:
                if (!(prevPressedKeys.Equals(pressedKeys)))
                {
                    InputKeyboard ability1 = new InputKeyboard(kbState, pressedKeys[pressedKeys.Length - 1]);
                    binds[6] = ability1;
                }
                else if (leftState != mState.LeftButton)
                {
                    InputMouse ability1 = new InputMouse(mState, MouseButton.Left);
                    binds[6] = ability1;
                }
                else if (middleState != mState.MiddleButton)
                {
                    InputMouse ability1 = new InputMouse(mState, MouseButton.Middle);
                    binds[6] = ability1;
                }
                else if (rightState != mState.RightButton)
                {
                    InputMouse ability1 = new InputMouse(mState, MouseButton.Right);
                    binds[6] = ability1;
                }
                else
                {
                    break;
                }
                break;

            case Binds.Ability2:
                if (!(prevPressedKeys.Equals(pressedKeys)))
                {
                    InputKeyboard ability2 = new InputKeyboard(kbState, pressedKeys[pressedKeys.Length - 1]);
                    binds[7] = ability2;
                }
                else if (leftState != mState.LeftButton)
                {
                    InputMouse ability2 = new InputMouse(mState, MouseButton.Left);
                    binds[7] = ability2;
                }
                else if (middleState != mState.MiddleButton)
                {
                    InputMouse ability2 = new InputMouse(mState, MouseButton.Middle);
                    binds[7] = ability2;
                }
                else if (rightState != mState.RightButton)
                {
                    InputMouse ability2 = new InputMouse(mState, MouseButton.Right);
                    binds[7] = ability2;
                }
                else
                {
                    break;
                }
                break;

            case Binds.Ability3:
                if (!(prevPressedKeys.Equals(pressedKeys)))
                {
                    InputKeyboard ability3 = new InputKeyboard(kbState, pressedKeys[pressedKeys.Length - 1]);
                    binds[8] = ability3;
                }
                else if (leftState != mState.LeftButton)
                {
                    InputMouse ability3 = new InputMouse(mState, MouseButton.Left);
                    binds[8] = ability3;
                }
                else if (middleState != mState.MiddleButton)
                {
                    InputMouse ability3 = new InputMouse(mState, MouseButton.Middle);
                    binds[8] = ability3;
                }
                else if (rightState != mState.RightButton)
                {
                    InputMouse ability3 = new InputMouse(mState, MouseButton.Right);
                    binds[8] = ability3;
                }
                else
                {
                    break;
                }
                break;

            case Binds.Ability4:
                if (!(prevPressedKeys.Equals(pressedKeys)))
                {
                    InputKeyboard ability4 = new InputKeyboard(kbState, pressedKeys[pressedKeys.Length - 1]);
                    binds[9] = ability4;
                }
                else if (leftState != mState.LeftButton)
                {
                    InputMouse ability4 = new InputMouse(mState, MouseButton.Left);
                    binds[9] = ability4;
                }
                else if (middleState != mState.MiddleButton)
                {
                    InputMouse ability4 = new InputMouse(mState, MouseButton.Middle);
                    binds[9] = ability4;
                }
                else if (rightState != mState.RightButton)
                {
                    InputMouse ability4 = new InputMouse(mState, MouseButton.Right);
                    binds[9] = ability4;
                }
                else
                {
                    break;
                }
                break;
            }
        }