Example #1
0
        private void UpdateAnalogButtonValue()
        {
            float axis = m_type == InputType.AnalogButton ?
                         Input.GetAxisRaw(m_rawAxisName) :
                         GamepadState.GetAxisRaw(m_gamepadAxis, m_gamepadIndex);

            axis = axis * (m_invert ? -1 : 1);

            if (axis > m_deadZone)
            {
                if (m_analogButtonState == ButtonState.Released || m_analogButtonState == ButtonState.JustReleased)
                {
                    m_analogButtonState = ButtonState.JustPressed;
                }
                else if (m_analogButtonState == ButtonState.JustPressed)
                {
                    m_analogButtonState = ButtonState.Pressed;
                }
            }
            else
            {
                if (m_analogButtonState == ButtonState.Pressed || m_analogButtonState == ButtonState.JustPressed)
                {
                    m_analogButtonState = ButtonState.JustReleased;
                }
                else if (m_analogButtonState == ButtonState.JustReleased)
                {
                    m_analogButtonState = ButtonState.Released;
                }
            }
        }
Example #2
0
        ///<summary>
        ///	Returns raw input with no sensitivity or smoothing applyed.
        /// </summary>
        public float?GetAxisRaw()
        {
            float?axis = null;

            if (m_type == InputType.DigitalAxis)
            {
                if (Input.GetKey(m_positive))
                {
                    axis = m_invert ? -AXIS_POSITIVE : AXIS_POSITIVE;
                }
                else if (Input.GetKey(m_negative))
                {
                    axis = m_invert ? -AXIS_NEGATIVE : AXIS_NEGATIVE;
                }
            }
            else if (m_type == InputType.MouseAxis || m_type == InputType.AnalogAxis)
            {
                if (m_rawAxisName != null)
                {
                    axis = Input.GetAxisRaw(m_rawAxisName);
                    axis = m_invert ? -axis : axis;
                }
            }
            else if (m_type == InputType.GamepadAxis)
            {
                axis = GamepadState.GetAxisRaw(m_gamepadAxis, m_gamepadIndex);
                axis = m_invert ? -axis : axis;
            }

            if (axis.HasValue && Mathf.Abs(axis.Value) <= 0.0f)
            {
                axis = null;
            }

            return(axis);
        }