Пример #1
0
        /// <summary>Constructor with specific values</summary>
        /// <param name="minValue"></param>
        /// <param name="maxValue"></param>
        /// <param name="wrap"></param>
        /// <param name="rangeLocked"></param>
        /// <param name="maxSpeed"></param>
        /// <param name="accelTime"></param>
        /// <param name="decelTime"></param>
        /// <param name="name"></param>
        /// <param name="invert"></param>
        public AxisState(
            float minValue, float maxValue, bool wrap, bool rangeLocked,
            float maxSpeed, float accelTime, float decelTime,
            string name, bool invert)
        {
            m_MinValue       = minValue;
            m_MaxValue       = maxValue;
            m_Wrap           = wrap;
            ValueRangeLocked = rangeLocked;

            HasRecentering = false;
            m_Recentering  = new Recentering(false, 1, 2);

            m_SpeedMode      = SpeedMode.MaxSpeed;
            m_MaxSpeed       = maxSpeed;
            m_AccelTime      = accelTime;
            m_DecelTime      = decelTime;
            Value            = (minValue + maxValue) / 2;
            m_InputAxisName  = name;
            m_InputAxisValue = 0;
            m_InvertInput    = invert;

            m_CurrentSpeed      = 0f;
            m_InputAxisProvider = null;
            m_InputAxisIndex    = 0;
            m_LastUpdateTime    = 0;
            m_LastUpdateFrame   = 0;
        }
Пример #2
0
 public void CopyStateFrom(ref Recentering other)
 {
     if (mLastAxisInputTime != other.mLastAxisInputTime)
     {
         other.mRecenteringVelocity = 0;
     }
     mLastAxisInputTime = other.mLastAxisInputTime;
 }
Пример #3
0
        /// <summary>Constructor with specific values</summary>
        public AxisState(
            float minValue, float maxValue, bool wrap, bool rangeLocked,
            float maxSpeed, float accelTime, float decelTime,
            string name, bool invert)
        {
            m_MinValue       = minValue;
            m_MaxValue       = maxValue;
            m_Wrap           = wrap;
            ValueRangeLocked = rangeLocked;

            HasRecentering = false;
            m_Recentering  = new Recentering(false, 1, 2);

            m_MaxSpeed       = maxSpeed;
            m_AccelTime      = accelTime;
            m_DecelTime      = decelTime;
            Value            = (minValue + maxValue) / 2;
            m_InputAxisName  = name;
            m_InputAxisValue = 0;
            m_InvertInput    = invert;

            mCurrentSpeed = 0f;
        }