示例#1
0
 /// <summary>
 /// 立即停止播放相机效果
 /// </summary>
 public void Stop()
 {
     if (IsPlaying())
     {
         _effectState = CameraEffectState.End;
     }
 }
示例#2
0
        /// <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;
            }
        }
示例#3
0
 /// <summary>
 /// 播放相机效果
 /// </summary>
 public void Play(System.Action onFinished = null)
 {
     _effectState    = CameraEffectState.Begin;
     this.onFinished = onFinished;
 }