protected virtual void Update() { if (!_destroyOnNotalive && !_hasFinishedNotify) { return; } if (Time.time - _lastCheckTime < 1f) { return; } _lastCheckTime = Time.time; if (!IsAlive()) { if (_hasFinishedNotify) { _playFinishNotify(this); _playFinishNotify = null; _hasFinishedNotify = false; } if (_destroyOnNotalive) { EffectFactory.DestroyEffect(this); } } }
/// <summary> /// 销毁Effect /// </summary> /// <param name="effect"></param> private void DestroyEffect(Effect effect) { effect.Restore(); DestroyEffectObject(effect.EffectObject); EffectFactory.DestroyEffect(effect); }