// IRewindStatus public void RewindStatusChanged(RewindStatus changingTo) { switch (changingTo) { case RewindStatus.Recording: DOTween.PlayForwardAll(); GetComponent <Renderer>().material.color = Color.green; HideDeathUI(); break; case RewindStatus.Rewinding: DOTween.PlayBackwardsAll(); GetComponent <Renderer>().material.color = Color.yellow; break; case RewindStatus.SafeFreeze: DOTween.PauseAll(); GetComponent <Renderer>().material.color = Color.yellow; StartCoroutine(nameof(RewindEndingCountdownUi)); break; case RewindStatus.RewindableDeathFreeze: case RewindStatus.ResetRequiredDeathFreeze: DOTween.PauseAll(); GetComponent <Renderer>().material.color = new Color(1.0f, 0.5f, 0.0f); break; } // Perform anything that needs to to happen on a specific status change to another if (changingTo == RewindStatus.Recording) { SoundManager.PlayEffect(SoundEffect.Background); } else { SoundManager.StopEffect(SoundEffect.Background); } if (changingTo == RewindStatus.Rewinding) { SoundManager.PlayEffect(SoundEffect.Rewind); } else { SoundManager.StopEffect(SoundEffect.Rewind); } if (changingTo == RewindStatus.Recording && _currentRewindStatus == RewindStatus.SafeFreeze) { SoundManager.PlayEffect(SoundEffect.ResumePlayAfterRewind); } _currentRewindStatus = changingTo; }
public void RewindStatusChanged(RewindStatus changingTo) { if (changingTo == RewindStatus.Recording) { _textMesh.enabled = false; } else { _textMesh.enabled = true; } }
// IRewindStatus public void RewindStatusChanged(RewindStatus changingTo) { switch (changingTo) { case RewindStatus.Recording: break; case RewindStatus.Rewinding: StartCoroutine(nameof(LensDistortFadeIn)); break; case RewindStatus.SafeFreeze: StartCoroutine(nameof(LensDistortFadeOut)); break; case RewindStatus.RewindableDeathFreeze: break; } }
private void ChangeStatus(RewindStatus status) { if (Status == status) { return; } Status = status; switch (status) { case RewindStatus.Rewinding: break; } foreach (var listener in _statusListeners) { listener.RewindStatusChanged(Status); } }