Пример #1
0
        public virtual void Play(Component caller, Action onCompleteCallback)
        {
            if (!gameObject.activeInHierarchy)
            {
                onCompleteCallback();
                return;
            }

            _elapsedTime      = 0;
            _caller           = caller;
            _completeCallback = onCompleteCallback;

            _peName = name;
            name    = "(delay)" + _peName;

            if (_delay <= 0)
            {
                _status = PeStatus.Active;
                PerformanceStart();
            }
            else
            {
                _status = PeStatus.Delay;
            }
            if (SeqeuceType == SeqTypeEnum.Immidiate)
            {
                if (_caller != null && _completeCallback != null)
                {
                    _completeCallback();
                }
            }
        }
Пример #2
0
        void OnUpdate()
        {
            if (_status == PeStatus.Delay)
            {
                _elapsedTime += _deltaTime;
                if (_elapsedTime > _delay)
                {
                    _elapsedTime -= _delay;
                    _status       = PeStatus.Active;

                    if (SeqeuceType == SeqTypeEnum.PerformanceStart)
                    {
                        if (_caller != null && _completeCallback != null)
                        {
                            _completeCallback();
                        }
                    }
                    PerformanceStart();
                }
            }
            else if (_status == PeStatus.Active)
            {
                _elapsedTime += _deltaTime;
                PerformancUpdate();
            }
        }
Пример #3
0
 public virtual void PerformanceComplete()
 {
     if (_status != PeStatus.NotActive)
     {
         _status = PeStatus.NotActive;
         name    = normalName;
         if (SeqeuceType == SeqTypeEnum.PerformanceComplete)
         {
             _onCompleteEvent.Invoke();
             if (_caller != null && _completeCallback != null)
             {
                 _completeCallback();
             }
         }
         if (_destroyWhenComplete)
         {
             Destroy(gameObject);
         }
     }
     else
     {
         Debug.LogError("Performance complete [" + name + "] is not called in running mode");
     }
 }