public void Despawn(BasePerform perform, bool isRemove = true) { if (perform != null) { float closeTime = perform.CloseTime; GameObject mono = perform.GO; ClearEvent(perform); perform.OnClose(); if (isRemove) { Data.Remove(perform); } BaseGlobal.PoolMgr?.Perform.Despawn(mono, closeTime); } }
public void Despawn(BasePerform perform) { if (perform != null) { float closeTime = perform.CloseTime; GameObject mono = perform.GO; perform.Callback_OnTriggerIn = null; perform.Callback_OnTriggering = null; perform.Callback_OnTriggerOut = null; perform.Callback_OnDoDestroy = null; perform.Callback_OnLifeOver = null; perform.OnClose(); data.Remove(perform); SelfBaseGlobal.PoolMgr.Perform.Despawn(mono, closeTime); perform = null; } }