public void Recycle(BaseMessageBox item, object obj, System.Action <BaseMessageBox> action = null) { if (item == null) { return; } MessageBoxResquest.MessageType boxType = (MessageBoxResquest.MessageType)obj; if (m_AllTypeBoxPool.ContainsKey(boxType) == false) { Debug.LogError(" Recycle UnIdentify Type :" + boxType); return; } if (MaxCount == 0 || m_AllTypeBoxPool[boxType].Count < MaxCount) { if (action != null) { action(item); } BaseObjectPool.PushPoolItem(PoolType.MsgBox, item.gameObject); item.gameObject.SetActive(false); m_AllTypeBoxPool[boxType].Push(item); } else { GameObject.DestroyImmediate(item.gameObject); } }
public static void ClearBindTip(Transform bindTrans) { MseeageBoxPool Pool = BaseObjectPool.GetPoolByType(PoolType.MsgBox, ConstDefine.UIMsgBoxResourcePath, 0) as MseeageBoxPool; if (Pool == null) { return; } for (int _dex = 0; _dex < allUITipMessageBoxList.Count; ++_dex) { if (allUITipMessageBoxList[_dex] != null && allUITipMessageBoxList[_dex].request != null && allUITipMessageBoxList[_dex].request.m_Parent == bindTrans) { if (allUITipMessageBoxList[_dex].gameObject.activeSelf) { allUITipMessageBoxList[_dex].Hide(); }//if else { Pool.Recycle(allUITipMessageBoxList[_dex], MessageBoxResquest.MessageType.TipsBox, (tips) => { tips.Reset(); }); } }//if } }