Пример #1
0
        public void OnShowKinMemberWnd(int nKinID)
        {
            // 清空KinMemberFrame
            int nCount = KinMemberListFrame.childCount;

            for (int i = nCount - 1; i >= 0; --i)
            {
                Transform childTrans = KinMemberListFrame.GetChild(i);
                if (childTrans)
                {
                    var temp = childTrans.gameObject;
                    ResNode.DestroyRes(ref temp);
                }
            }

            // 填充数据
            List <cmd_legendcup_competition_kinmembernode> memberList = LogicDataCenter.legendCupDataManager.GetKinMemberInfo(nKinID);

            if (memberList == null)
            {
                return;
            }

            KinMemberTemplate.SetActive(true);
            cmd_legendcup_recv_regist_memberlistnode tempNode = new cmd_legendcup_recv_regist_memberlistnode();

            m_kinMemberItems = new LegendCupRegistKinMemberItem[memberList.Count];
            for (int i = 0; i < memberList.Count; ++i)
            {
                GameObject memberItemObj = ResNode.InstantiateRes(KinMemberTemplate);
                if (!memberItemObj)
                {
                    return;
                }

                m_kinMemberItems[i] = memberItemObj.GetComponent <LegendCupRegistKinMemberItem>();
                if (!m_kinMemberItems[i])
                {
                    return;
                }

                tempNode.uDBID       = memberList[i].nUserID;
                tempNode.nPDBID      = memberList[i].nPDBID;
                tempNode.nActorSex   = memberList[i].nActorSex;
                tempNode.nActorLevel = memberList[i].nActorLevel;
                tempNode.szActorName = memberList[i].szActorName;
                tempNode.nType       = memberList[i].nType;
                tempNode.nRankGrade  = memberList[i].nRankGrade;
                tempNode.nRankScore  = memberList[i].nRankScore;
                tempNode.nRankIconId = memberList[i].nRankIconId;
                tempNode.szGradeName = memberList[i].szGradeName;
                m_kinMemberItems[i].SetData(tempNode);

                memberItemObj.name = "MemberItem" + (i + 1);
                RectTransform rectTrans = memberItemObj.transform as RectTransform;
                rectTrans.SetParent(KinMemberListFrame, false);
            }
            KinMemberTemplate.SetActive(false);
        }
Пример #2
0
        public void RecvCupRegistKinMemberList(IntPtr ptrParam, int nPtrLen)
        {
            SingleRegistKinMemberInfo info   = new SingleRegistKinMemberInfo();
            IntPtrVaArgParseHelper    helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen);

            info.headInfo = helper.get <cmd_legendcup_recv_regist_memberlisthead>();
            info.nodeInfo = new List <cmd_legendcup_recv_regist_memberlistnode>();
            for (int i = 0; i < info.headInfo.nMemberCount; ++i)
            {
                cmd_legendcup_recv_regist_memberlistnode data = helper.get <cmd_legendcup_recv_regist_memberlistnode>();
                info.nodeInfo.Add(data);
            }
            m_legendCupRegistKinMembrDic[info.headInfo.nKinID] = info;

            UIMsgCmdData cmdData = new UIMsgCmdData((int)WndMsgID.WND_MSG_LEGENDCUP_REGIST_MEMBERLIST, info.headInfo.nKinID, "", IntPtr.Zero, 0);

            UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_LEGENDCUP_REGIST_MEMBERLIST, cmdData);
        }
Пример #3
0
        public void SetData(cmd_legendcup_recv_regist_memberlistnode memeberNode)
        {
            KinMemberName.text  = memeberNode.szActorName;
            KinMemberLevel.text = memeberNode.nActorLevel.ToString();

            if (memeberNode.nRankIconId != 0)
            {
                KinMemberRank.gameObject.SetActive(true);
                KinMemberRank.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_RankImage, WndID.WND_ID_LEGENDCUP_REGIST, 1, memeberNode.nRankIconId);
            }
            else
            {
                KinMemberRank.gameObject.SetActive(false);
            }

            if (memeberNode.nActorSex < (int)PERSON_SEX.SEX_MAX && memeberNode.nActorSex >= (int)PERSON_SEX.SEX_MALE)
            {
                KinMemberSex.gameObject.SetActive(true);
                KinMemberSex.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_KinSex, WndID.WND_ID_LEGENDCUP_REGIST, memeberNode.nActorSex + 1);
            }
            else
            {
                KinMemberSex.gameObject.SetActive(false);
            }

            // 添加右键弹窗
            this.gameObject.RemoveComponent <UPopupMenuHandle>();
            UPopupMenuHandle popupMenuHandle = this.gameObject.AddComponent <UPopupMenuHandle>();

            if (popupMenuHandle != null)
            {
                UPopupAction popupAction = new UPopupAction();
                popupAction.Add(UPopupItemDataGetPlayerDetail.GetDescString(), new UPopupItemDataGetPlayerDetail((int)memeberNode.nPDBID));
                popupAction.Add(UPopupItemDataAddFriend.GetDescString(), new UPopupItemDataAddFriend(memeberNode.uDBID, memeberNode.szActorName));
                popupAction.Add(UPopupItemDataAddBlackList.GetDescString(), new UPopupItemDataAddBlackList(memeberNode.uDBID, memeberNode.szActorName));
                popupAction.Add(UPopupItemDataCopyName.GetDescString(), new UPopupItemDataCopyName(memeberNode.szActorName));
                popupAction.Add(UPopupItemDataPrivateChat.GetDescString(), new UPopupItemDataPrivateChat(memeberNode.szActorName));

                popupMenuHandle.HandlePopupAction = popupAction;
            }

            this.gameObject.SetActive(true);
        }