public Tween(_updateBehaviour p_updateBehaviour, Ch3EasingFunctionDelegate p_easingFunction, double p_duration)
            {
                _updateBehaviour = p_updateBehaviour;
                _timeStamp       = Ch3TimeManager.CreateTimeStamp();
                _easingFunction  = p_easingFunction;

                _duration = p_duration == 0 ? double.Epsilon : p_duration;
                _lastStep = false;
                _isActive = false;
            }
Example #2
0
        public static void TweenTimeScale(Ch3EasingFunctionDelegate p_easingFunction, double p_from, double p_to, double p_duration)
        {
            stopTimeScaleTween();

            UnityEngine.Time.timeScale = (float)p_from;

            _timeScaleTween = Ch3TweenManager.CreateTween(p_easingFunction, p_duration).OnStep((double p_value) => {
                UnityEngine.Time.timeScale = (float)(p_from + (p_to - p_from) * p_value);
            }).OnFinish((double p_value) => {
                UnityEngine.Time.timeScale = (float)p_to;
            }).Start();
        }
 public static ITween CreateTween(Ch3EasingFunctionDelegate p_easingFunction, double p_duration)
 {
     return(new Tween(updateBehaviour, p_easingFunction, p_duration));
 }