// CTOR

        public FilteredFP(FP i_RaiseStepFactor, FP i_LowerStepFactor)
        {
            m_Position = 0.0f;

            m_RaiseStepFactor = MathFP.Max(i_RaiseStepFactor, FP.Zero);
            m_LowerStepFactor = MathFP.Max(i_LowerStepFactor, FP.Zero);
        }
        // INTERNALS

        private void InternalSetTimeScale(FP i_Value)
        {
            m_TimeScale = MathFP.Max(FP.Zero, i_Value);

            if (m_TimeScale == FP.One)
            {
                Time.timeScale = 1f;
            }
            else
            {
                Time.timeScale = m_TimeScale.AsFloat();
            }
        }