示例#1
0
    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();
    }
示例#2
0
    void _UpdateScalingTime()
    {
        if (!m_bScalingTime)
            return;

        m_curTimeScaleDuration -= ClockMgr.instance.RealDeltaTime;

        if (m_curTimeScaleDuration <= 0)
        {
            ResetTimeScale();
            if (TimeScaleCallback != null)
            {
                TimeScaleCallback();
                m_TimeScaleCallback = null;
            }
        }
    }