Beispiel #1
0
        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);
        }
Beispiel #2
0
        private void RemoveCharRadar(RararCharDataModel data)
        {
            ListItemLogic obj;

            if (itemLogicDict.TryGetValue(data.CharacterId, out obj))
            {
                ComplexObjectPool.Release(obj.gameObject, false, false);
                itemLogicDict.Remove(data.CharacterId);
            }
        }