private void StopTimeFor(float duration) { if (timeScaleCoroutine_ != null) { timeScaleCoroutine_.Cancel(); timeScaleCoroutine_ = null; } Time.timeScale = 0.0f; timeScaleCoroutine_ = CoroutineWrapper.DoAfterRealtimeDelay(duration, () => { Time.timeScale = 1.0f; }); }