예제 #1
0
        public void SetTimeScale(float scale)
        {
            if (scale >= 0)
            {
                Time.timeScale = defaultTimeScale * scale;

                if (scale != 0)
                {
                    Time.fixedDeltaTime = defaultFixedDelta * scale;
                }

                OnTimeScaleChange?.Invoke(scale);
            }
        }
예제 #2
0
    private void Update()
    {
        if (Math.Abs(Time.timeScale - targetTimeScale) > 0.000001)
        {
            Time.timeScale = Mathf.SmoothDamp(Time.timeScale, targetTimeScale, ref velocityTimeScale, smoothTime);

            OnTimeScaleChange?.Invoke();
        }

        if (Math.Abs(Time.fixedDeltaTime - targetFixedDeltaTime) > 0.000001)
        {
            Time.fixedDeltaTime = Mathf.SmoothDamp(Time.fixedDeltaTime, targetFixedDeltaTime, ref velocityFixedDeltaTime, smoothTime);
        }
    }