/// <summary> /// 立即停止播放相机效果 /// </summary> public void Stop() { if (IsPlaying()) { _effectState = CameraEffectState.End; } }
/// <summary> /// 震屏更新流程 /// </summary> /// <param name="cam"></param> public void UpdateCameraEffect(Camera cam) { switch (_effectState) { case CameraEffectState.Begin: { Begin(cam); _effectState = CameraEffectState.Sample; } break; case CameraEffectState.Sample: { float elapsedTime = Time.time - m_StartTime; if (elapsedTime < m_Duration) { Sample(cam, elapsedTime); } else { _effectState = CameraEffectState.End; } } break; case CameraEffectState.End: { End(); _effectState = CameraEffectState.None; if (onFinished != null) { onFinished(); onFinished = null; } } break; } }
/// <summary> /// 播放相机效果 /// </summary> public void Play(System.Action onFinished = null) { _effectState = CameraEffectState.Begin; this.onFinished = onFinished; }