示例#1
0
        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);
            }
        }
示例#2
0
        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;
            }
        }