Esempio n. 1
0
        //=========== UPDATING ===========
        #region Updating

        /** <summary> Called every step to update the button states. </summary> */
        public static void Update(GameTime gameTime)
        {
            for (int i = 0; i < 4; i++)
            {
                XnaPlayer player = (XnaPlayer)i;
                buttons[i, (int)Buttons.A].Update(1, XnaGamePad.GetState(player).IsButtonDown(XnaButtons.A));
                buttons[i, (int)Buttons.B].Update(1, XnaGamePad.GetState(player).IsButtonDown(XnaButtons.B));
                buttons[i, (int)Buttons.X].Update(1, XnaGamePad.GetState(player).IsButtonDown(XnaButtons.X));
                buttons[i, (int)Buttons.Y].Update(1, XnaGamePad.GetState(player).IsButtonDown(XnaButtons.Y));

                buttons[i, (int)Buttons.Start].Update(1, XnaGamePad.GetState(player).IsButtonDown(XnaButtons.Start));
                buttons[i, (int)Buttons.Back].Update(1, XnaGamePad.GetState(player).IsButtonDown(XnaButtons.Back));

                buttons[i, (int)Buttons.Home].Update(1, XnaGamePad.GetState(player).IsButtonDown(XnaButtons.BigButton));
                buttons[i, (int)Buttons.LeftShoulder].Update(1, XnaGamePad.GetState(player).IsButtonDown(XnaButtons.LeftShoulder));
                buttons[i, (int)Buttons.RightShoulder].Update(1, XnaGamePad.GetState(player).IsButtonDown(XnaButtons.RightShoulder));
                buttons[i, (int)Buttons.LeftStickButton].Update(1, XnaGamePad.GetState(player).IsButtonDown(XnaButtons.LeftStick));
                buttons[i, (int)Buttons.RightStickButton].Update(1, XnaGamePad.GetState(player).IsButtonDown(XnaButtons.RightStick));

                Vector2F dPad = Vector2F.Zero;
                if (XnaGamePad.GetState(player).IsButtonDown(XnaButtons.DPadRight))
                {
                    dPad.X = 1;
                }
                if (XnaGamePad.GetState(player).IsButtonDown(XnaButtons.DPadDown))
                {
                    dPad.Y = 1;
                }
                if (XnaGamePad.GetState(player).IsButtonDown(XnaButtons.DPadLeft))
                {
                    dPad.X = -1;
                }
                if (XnaGamePad.GetState(player).IsButtonDown(XnaButtons.DPadUp))
                {
                    dPad.Y = -1;
                }
                if (dPad.X != 0.0f && dPad.Y != 0.0f)
                {
                    dPad.X /= GMath.Sqrt(2.0f);
                    dPad.Y /= GMath.Sqrt(2.0f);
                }
                sticks[i, (int)Buttons.DPad].Update(1, dPad);

                Vector2F stick = Vector2F.Zero;

                stick    = XnaGamePad.GetState(player).ThumbSticks.Left;
                stick.Y *= -1;
                sticks[i, (int)Buttons.LeftStick].Update(1, stick);

                stick    = XnaGamePad.GetState(player).ThumbSticks.Right;
                stick.Y *= -1;
                sticks[i, (int)Buttons.RightStick].Update(1, stick);


                float trigger = XnaGamePad.GetState(player).Triggers.Left;
                triggers[i, (int)Buttons.LeftTrigger].Update(1, trigger);
                trigger = XnaGamePad.GetState(player).Triggers.Right;
                triggers[i, (int)Buttons.RightTrigger].Update(1, trigger);
            }
        }
Esempio n. 2
0
 public RumbleData(TimeSpan time, Microsoft.Xna.Framework.PlayerIndex player, float left_motor, float right_motor, float mult)
 {
     Time        = time;
     Player      = player;
     _LeftMotor  = left_motor;
     _RightMotor = right_motor;
     Multiplier  = mult;
 }
Esempio n. 3
0
        public GamePad(DisposableI parent, GamePadControllers controller)
            : base(parent)
        {
            input = parent.FindParentOrSelfWithException <Input>();
            input.UpdateCallback += Update;

            switch (controller)
            {
            case GamePadControllers.All: useAllControllers = true; break;

            case GamePadControllers.One: playerIndex = F.PlayerIndex.One; break;

            case GamePadControllers.Two: playerIndex = F.PlayerIndex.Two; break;

            case GamePadControllers.Three: playerIndex = F.PlayerIndex.Three; break;

            case GamePadControllers.Four: playerIndex = F.PlayerIndex.Four; break;

            default: Debug.ThrowError("GamePad", "Unsuported controller"); break;
            }

            Back             = new Button();
            Start            = new Button();
            A                = new Button();
            B                = new Button();
            X                = new Button();
            Y                = new Button();
            LeftBumper       = new Button();
            RightBumper      = new Button();
            LeftStickButton  = new Button();
            RightStickButton = new Button();
            DLeft            = new Button();
            DRight           = new Button();
            DDown            = new Button();
            DUp              = new Button();
            LeftTrigger      = new Trigger();
            RightTrigger     = new Trigger();

            LeftStick  = new Vector2();
            RightStick = new Vector2();
        }
Esempio n. 4
0
        public GamePad(DisposableI parent, GamePadControllers controller)
            : base(parent)
        {
            input = parent.FindParentOrSelfWithException<Input>();
            input.UpdateCallback += Update;

            switch (controller)
            {
                case GamePadControllers.All: useAllControllers = true; break;
                case GamePadControllers.One: playerIndex = F.PlayerIndex.One; break;
                case GamePadControllers.Two: playerIndex = F.PlayerIndex.Two; break;
                case GamePadControllers.Three: playerIndex = F.PlayerIndex.Three; break;
                case GamePadControllers.Four: playerIndex = F.PlayerIndex.Four; break;
                default: Debug.ThrowError("GamePad", "Unsuported controller"); break;
            }

            Back = new Button();
            Start = new Button();
            A = new Button();
            B = new Button();
            X = new Button();
            Y = new Button();
            LeftBumper = new Button();
            RightBumper = new Button();
            LeftStickButton = new Button();
            RightStickButton = new Button();
            DLeft = new Button();
            DRight = new Button();
            DDown = new Button();
            DUp = new Button();
            LeftTrigger = new Trigger();
            RightTrigger = new Trigger();

            LeftStick = new Vector2();
            RightStick = new Vector2();
        }
Esempio n. 5
0
 public void Contribute(XF.PlayerIndex player, float score)
 {
     points[player] += score;
 }
Esempio n. 6
0
 public float GetContribution(XF.PlayerIndex player)
 {
     return(points[player]);
 }
Esempio n. 7
0
 public override void HandleInput(Microsoft.Xna.Framework.PlayerIndex playerIndex)
 {
 }
Esempio n. 8
0
 public void bind(Microsoft.Xna.Framework.PlayerIndex control, Microsoft.Xna.Framework.Input.Buttons button)
 {
     bound        = true;
     this.control = control;
     this.binding = button;
 }
Esempio n. 9
0
 private void MyOnGamePadDPadUpdate(CCGamePadButtonStatus leftButton, CCGamePadButtonStatus upButton, CCGamePadButtonStatus rightButton, CCGamePadButtonStatus downButton, Microsoft.Xna.Framework.PlayerIndex player)
 {
     // Down and Up only
     if (rightButton == CCGamePadButtonStatus.Pressed)
     {
         if (_FirstTicks == 0L)
         {
             _FirstTicks = DateTime.Now.Ticks;
             _bDownPress = true;
         }
     }
     else if (rightButton == CCGamePadButtonStatus.Released && _FirstTicks > 0L && _bDownPress)
     {
         _FirstTicks = 0L;
         nextCallback(null);
         _bDownPress = false;
     }
     if (leftButton == CCGamePadButtonStatus.Pressed)
     {
         if (_FirstTicks == 0L)
         {
             _FirstTicks = DateTime.Now.Ticks;
             _bUpPress   = true;
         }
     }
     else if (leftButton == CCGamePadButtonStatus.Released && _FirstTicks > 0L && _bUpPress)
     {
         _FirstTicks = 0L;
         backCallback(null);
         _bUpPress = false;
     }
 }
Esempio n. 10
0
 protected virtual void OnGamePadTriggerUpdate(float leftTriggerStrength, float rightTriggerStrength, Microsoft.Xna.Framework.PlayerIndex player)
 {
 }
Esempio n. 11
0
/// <summary>
/// Handles "Exit" menu item selection
/// </summary>
        protected override void OnCancel(Microsoft.Xna.Framework.PlayerIndex playerIndex)
        {
            backgroundScreen.ExitScreen();
            ExitScreen();
        }
Esempio n. 12
0
 protected virtual void OnGamePadButtonUpdate(CCGamePadButtonStatus backButton, CCGamePadButtonStatus startButton, CCGamePadButtonStatus systemButton, CCGamePadButtonStatus aButton, CCGamePadButtonStatus bButton, CCGamePadButtonStatus xButton, CCGamePadButtonStatus yButton, CCGamePadButtonStatus leftShoulder, CCGamePadButtonStatus rightShoulder, Microsoft.Xna.Framework.PlayerIndex player)
 {
 }
Esempio n. 13
0
 protected virtual void OnGamePadConnectionUpdate(Microsoft.Xna.Framework.PlayerIndex player, bool IsConnected)
 {
 }
Esempio n. 14
0
 protected virtual void OnGamePadDPadUpdate(CCGamePadButtonStatus leftButton, CCGamePadButtonStatus upButton, CCGamePadButtonStatus rightButton, CCGamePadButtonStatus downButton, Microsoft.Xna.Framework.PlayerIndex player)
 {
     if (!HasFocus)
     {
         return;
     }
 }
Esempio n. 15
0
 protected virtual void OnGamePadStickUpdate(CCGameStickStatus leftStick, CCGameStickStatus rightStick, Microsoft.Xna.Framework.PlayerIndex player)
 {
 }
Esempio n. 16
0
 /// <summary>
 /// Constructor of GamePad class
 /// </summary>
 /// <param name="index"></param>
 internal GamePad(XnaPlayerIndex index)
 {
     _gamePadIndex = index;
     _buttonPressed = new ReadOnlyCollection<ButtonEvent>(InternalButtonPressed);
 }
Esempio n. 17
0
        private void MyOnGamePadButtonUpdate(CCGamePadButtonStatus backButton, CCGamePadButtonStatus startButton, CCGamePadButtonStatus systemButton, CCGamePadButtonStatus aButton, CCGamePadButtonStatus bButton, CCGamePadButtonStatus xButton, CCGamePadButtonStatus yButton, CCGamePadButtonStatus leftShoulder, CCGamePadButtonStatus rightShoulder, Microsoft.Xna.Framework.PlayerIndex player)
        {
            if (aButton == CCGamePadButtonStatus.Pressed)
            {
                _aButtonWasPressed = true;
            }
            else if (aButton == CCGamePadButtonStatus.Released && _aButtonWasPressed)
            {
                // Select the menu
                restartCallback(null);
            }

            if (yButton == CCGamePadButtonStatus.Pressed)
            {
                _yButtonWasPressed = true;
            }
            else if (yButton == CCGamePadButtonStatus.Released && _yButtonWasPressed)
            {
                CCNode node = GetChildByTag(kTagTileMap);
                node.RunAction(new CCRotateBy(1f, 15f));
            }

            if (xButton == CCGamePadButtonStatus.Pressed)
            {
                _xButtonWasPressed = true;
            }
            else if (xButton == CCGamePadButtonStatus.Released && _xButtonWasPressed)
            {
                CCNode node = GetChildByTag(kTagTileMap);
                if (node != null)
                {
                    node.RunAction(new CCRotateBy(1f, -15f));
                }
            }
        }