public void ScaleTime(float scale, float duration, Utility.VoidDelegate callback) { Time.timeScale = scale; m_bScalingTime = true; m_curTimeScaleDuration = duration; m_TimeScaleCallback = callback; //Tween<float> tf = new Tween<float>(); //tf.SetDelay(duration); //tf.SetStartValue(0); //tf.SetEndValue(1); //tf.SetTimeScaleIndependent(true); //tf.OnCompleted( // (value) => // { // Time.timeScale = 1.0f; // if (callback != null) // callback(); // }); //tf.Play(); }
void _UpdateScalingTime() { if (!m_bScalingTime) return; m_curTimeScaleDuration -= ClockMgr.instance.RealDeltaTime; if (m_curTimeScaleDuration <= 0) { ResetTimeScale(); if (TimeScaleCallback != null) { TimeScaleCallback(); m_TimeScaleCallback = null; } } }