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); }
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); }
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); }