public override void destroy() { mEffectDestroyCallback?.Invoke(this, mDestroyUserData); mEffectDestroyCallback = null; mParticleSystems = null; mEffectAnimators = null; if (!mExistedObject) { mObjectPool.destroyObject(ref mObject, false); } base.destroy(); }
public override void resetProperty() { base.resetProperty(); mParticleSystems = null; mIsDead = false; mMaxActiveTime = -1.0f; mLifeTimer.stop(); mActiveTimer.stop(); mExistedObject = false; mEffectDestroyCallback = null; mDestroyUserData = null; mPlayState = PLAY_STATE.PS_STOP; }
public void setEffectDestroyCallback(OnEffectDestroy effect, object userData) { mEffectDestroyCallback = effect; mDestroyUserData = userData; }