private void CreateCharRadar(RararCharDataModel data) { var id = data.CharacterId; ComplexObjectPool.NewObject("UI/MainUI/CharCursor.prefab", o => { if (data.CharType != 0) { var charObj = ObjManager.Instance.FindCharacterById(id); if (charObj == null || charObj.Dead) { ComplexObjectPool.Release(o, false, false); return; } } var oTransform = o.transform; //oTransform.parent = CharCursor.transform; oTransform.SetParentEX(CharCursor.transform); oTransform.localScale = Vector3.one; if (!o.activeSelf) { o.SetActive(true); } var i = o.GetComponent <ListItemLogic>(); i.Item = data; var r = o.GetComponent <BindDataRoot>(); r.Source = data; itemLogicDict[data.CharacterId] = i; }, null, null, false, false, false); }
private void RemoveCharRadar(RararCharDataModel data) { ListItemLogic obj; if (itemLogicDict.TryGetValue(data.CharacterId, out obj)) { ComplexObjectPool.Release(obj.gameObject, false, false); itemLogicDict.Remove(data.CharacterId); } }