void onAffirmInvite(GameEvent e)
        {
            Variant data = e.data;

            if (data == null)
            {
                return;
            }
            if (data.ContainsKey("cid"))
            {
                uint cid = data["cid"];
                List <ItemTeamData> itdList = TeamProxy.getInstance().MyTeamData.itemTeamDataList;
                for (int i = 0; i < itdList.Count; i++)
                {
                    if (!m_ItemCurrentTeamInfoDic.ContainsKey(cid) && cid != PlayerModel.getInstance().cid)
                    {
                        ItemCurrentTeamInfo icti = new ItemCurrentTeamInfo(itemCurrentInfoPrefab);
                        m_ItemCurrentTeamInfoDic.Add(cid, icti);
                    }
                }
            }
            if (TeamProxy.getInstance().MyTeamData.itemTeamDataList.Count < 5)
            {
                getGameObjectByPath("contant/friend").SetActive(true);
            }
            else
            {
                getGameObjectByPath("contant/friend").SetActive(false);
            }
            getTransformByPath("contant/friend").SetAsLastSibling();
        }
        void onNewMemberJoin(GameEvent e)
        {
            Variant data = e.data;
            uint    cid  = data["cid"];
            string  name = data["name"];
            uint    carr = data["carr"];

            if (!m_ItemCurrentTeamInfoDic.ContainsKey(cid))
            {
                ItemCurrentTeamInfo icti = new ItemCurrentTeamInfo(itemCurrentInfoPrefab);
                icti.SetTxtName(name);
                icti.sethead(carr);
                m_ItemCurrentTeamInfoDic.Add(cid, icti);
            }
            else
            {
                m_ItemCurrentTeamInfoDic[cid].sethead(carr);
                m_ItemCurrentTeamInfoDic[cid].SetTxtName(name);
            }
            if (TeamProxy.getInstance().MyTeamData.itemTeamDataList.Count < 5)
            {
                getGameObjectByPath("contant/friend").SetActive(true);
            }
            else
            {
                getGameObjectByPath("contant/friend").SetActive(false);
            }
            getTransformByPath("contant/friend").SetAsLastSibling();
        }
        void onSyncTeamBlood(GameEvent e)
        {
            Variant        data  = e.data;
            List <Variant> infos = data["infos"]._arr;

            for (int i = 0; i < infos.Count; i++)
            {
                uint cid = infos[i]["cid"];
                if (!TeamProxy.getInstance().MyTeamData.IsInMyTeam(cid))
                {
                    continue;
                }
                uint         maxHp = infos[i]["max_hp"];
                uint         hp    = infos[i]["hp"];
                ItemTeamData itd   = new ItemTeamData();
                itd.cid   = cid;
                itd.hp    = hp;
                itd.maxHp = maxHp;
                for (int j = 0; j < TeamProxy.getInstance().MyTeamData.itemTeamDataList.Count; j++)
                {
                    if (cid == TeamProxy.getInstance().MyTeamData.itemTeamDataList[j].cid)
                    {
                        itd.carr = TeamProxy.getInstance().MyTeamData.itemTeamDataList[j].carr;

                        itd.isCaptain = TeamProxy.getInstance().MyTeamData.itemTeamDataList[j].isCaptain;
                        itd.online    = TeamProxy.getInstance().MyTeamData.itemTeamDataList[j].online;
                        break;
                    }
                }
                if (m_ItemCurrentTeamInfoDic.ContainsKey(cid))
                {
                    m_ItemCurrentTeamInfoDic[cid].SetInfo(itd);
                }
                else
                {
                    ItemCurrentTeamInfo icti = new ItemCurrentTeamInfo(itemCurrentInfoPrefab);
                    icti.SetInfo(itd);
                    m_ItemCurrentTeamInfoDic.Add(cid, icti);
                }
            }
        }
        override public void onShowed()
        {
            TeamProxy.getInstance().addEventListener(TeamProxy.EVENT_SYNCTEAMBLOOD, onSyncTeamBlood);
            TeamProxy.getInstance().addEventListener(TeamProxy.EVENT_LEAVETEAM, onLeaveTeam);
            TeamProxy.getInstance().addEventListener(TeamProxy.EVENT_DISSOLVETEAM, onDissolveTeam);
            TeamProxy.getInstance().addEventListener(TeamProxy.EVENT_NOTICEHAVEMEMBERLEAVE, onNoticeHaveMemberLeave);
            TeamProxy.getInstance().addEventListener(TeamProxy.EVENT_AFFIRMINVITE, onAffirmInvite);
            TeamProxy.getInstance().addEventListener(TeamProxy.EVENT_KICKOUT, onNoticeHaveMemberLeave);
            TeamProxy.getInstance().addEventListener(TeamProxy.EVENT_NEWMEMBERJOIN, onNewMemberJoin);
            TeamProxy.getInstance().addEventListener(TeamProxy.EVENT_CHANGETEAMINFO, onChangeTeamInfo);
            TeamProxy.getInstance().addEventListener(TeamProxy.EVENT_NOTICEONLINESTATECHANGE, onNoticeOnlineStateChange);

            if (uiData != null)
            {
                Transform parent = (Transform)uiData[0];
                this.transform.SetParent(parent, false);
                this.transform.localScale    = Vector3.one;
                this.transform.localPosition = Vector3.one;
                InvokeRepeating("SendSyncTeamBlood", 0.0f, 3f);//TODO:暂定1秒
                if (TeamProxy.getInstance().MyTeamData != null)
                {
                    for (int i = 0; i < TeamProxy.getInstance().MyTeamData.itemTeamDataList.Count; i++)
                    {
                        uint cid = TeamProxy.getInstance().MyTeamData.itemTeamDataList[i].cid;
                        if (cid == PlayerModel.getInstance().cid)
                        {
                            continue;
                        }
                        if (m_ItemCurrentTeamInfoDic != null && !m_ItemCurrentTeamInfoDic.ContainsKey(cid))
                        {
                            ItemCurrentTeamInfo icti = new ItemCurrentTeamInfo(itemCurrentInfoPrefab);
                            string name = TeamProxy.getInstance().MyTeamData.itemTeamDataList[i].name;
                            icti.SetTxtName(name);
                            m_ItemCurrentTeamInfoDic.Add(cid, icti);
                        }
                    }
                    if (TeamProxy.getInstance().MyTeamData.itemTeamDataList.Count < 5)
                    {
                        if (TeamProxy.getInstance().MyTeamData.meIsCaptain)
                        {
                            getGameObjectByPath("contant/friend").SetActive(true);
                            getTransformByPath("contant/friend").SetAsLastSibling();//放到最后
                        }
                        else
                        {
                            if (TeamProxy.getInstance().MyTeamData.membInv)
                            {
                                getGameObjectByPath("contant/friend").SetActive(true);
                                getTransformByPath("contant/friend").SetAsLastSibling();//放到最后
                            }
                            else
                            {
                                getGameObjectByPath("contant/friend").SetActive(false);
                            }
                        }
                    }
                    else
                    {
                        getGameObjectByPath("contant/friend").SetActive(false);
                    }
                }
            }
        }