コード例 #1
0
        /// <summary>
        /// Sends a message to listeners that a thumbstick has recently been released.
        /// </summary>
        /// <param name="stickType">Type of thumbstick (left or right)</param>
        /// <param name="player">Player whose controller this message pertains to</param>
        /// <param name="gameTime">Snapshot of the game's timing state</param>
        private void SendThumbstickReleaseMessage(GamePadInputSide stickType, PlayerIndex player, GameTime gameTime)
        {
            MsgGamePadThumbstickReleased thumbstickMessage = ObjectPool.Aquire <MsgGamePadThumbstickReleased>();

            thumbstickMessage.StickType   = stickType;
            thumbstickMessage.PlayerIndex = player;
            thumbstickMessage.Time        = gameTime;
            this.Game.QueueMessage(thumbstickMessage);
        }
コード例 #2
0
        /// <summary>
        /// Sends a message meant to tell listeners to that a trigger has been recently released.
        /// </summary>
        /// <param name="triggerType">Type of trigger</param>
        /// <param name="player">Index of player's controller (1-4)</param>
        /// <param name="gameTime">Snapshot of game's timing state</param>
        private void SendTriggerReleaseMessage(GamePadInputSide triggerType, PlayerIndex player, GameTime gameTime)
        {
            MsgGamePadTriggerReleased triggerMessage = ObjectPool.Aquire <MsgGamePadTriggerReleased>();

            triggerMessage.GamePadInputSide = triggerType;
            triggerMessage.PlayerIndex      = player;
            triggerMessage.Time             = gameTime;
            this.Game.SendMessage(triggerMessage);
        }
コード例 #3
0
        /// <summary>
        /// Gets value of a given trigger for a given player's controller (by index).
        /// </summary>
        /// <param name="pIndex">Index of player's controller</param>
        /// <param name="side">Which trigger side"/></param>
        /// <param name="triggerValue">Current value of trigger</param>
        /// <returns>False if the trigger hasn't moved since its last update</returns>
        public bool Trigger(PlayerIndex pIndex, GamePadInputSide side, out float triggerValue)
        {
            triggerValue = this.triggers[(int)pIndex, (int)side];

            if (triggerValue != this.previousTriggers[(int)pIndex, (int)side])
            {
                return(false);
            }

            return(true);
        }
コード例 #4
0
        /// <summary>
        /// Gets value of a given thumbstick for a given player's controller (by index).
        /// </summary>
        /// <param name="pIndex">Index of player's controller</param>
        /// <param name="side">Which thumbstick side"/></param>
        /// <param name="stickValue">Current value of thumbstick</param>
        /// <returns>False if the thumbstick hasn't moved since its last update</returns>
        public bool Thumbstick(PlayerIndex pIndex, GamePadInputSide side, out Vector2 stickValue)
        {
            stickValue = this.thumbsticks[(int)pIndex, (int)side];

            if (stickValue != this.previousThumbsticks[(int)pIndex, (int)side])
            {
                return(false);
            }

            return(true);
        }
コード例 #5
0
        /// <summary>
        /// Sends a message containing information about a specific trigger
        /// </summary>
        /// <param name="stickType">Type of thumbstick (left or right)</param>
        /// <param name="XValue">Value of X-axis of thumbstick (-1.0f to 1.0f)</param>
        /// <param name="YValue">Value of Y-axis of thumbstick (-1.0f to 1.0f)</param>
        /// <param name="player">Player whose controller this message pertains to</param>
        /// <param name="gameTime">Snapshot of the game's timing state</param>
        private void SendThumbstickMessage(GamePadInputSide stickType, float XValue, float YValue, PlayerIndex player, GameTime gameTime)
        {
            MsgGamePadThumbstick thumbstickMessage = ObjectPool.Aquire <MsgGamePadThumbstick>();

            thumbstickMessage.StickType   = stickType;
            thumbstickMessage.StickValueX = XValue;
            thumbstickMessage.StickValueY = YValue;
            thumbstickMessage.PlayerIndex = player;
            thumbstickMessage.Time        = gameTime;
            this.Game.QueueMessage(thumbstickMessage);
        }