// 添加200个天梯排名数据,一起发过来解析,刷新也用这个 public void AddHighLadderItem(ref IntPtr ptrParam, ref int nPtrLen) { if (!Value.IsValueValid(vRoomItemStruct) || !Value.IsValueValid(vRoomListFrame)) { return; } // 更新数据的时候先移除旧数据,再加载新数据 if (vRoomListFrame.Invoke("RemoveHallRoomAllItem") == null) { Trace.LogError("call RemoveHallRoomAllItem error!!"); } IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_Entity_Rank_Info_head nCountdata = helper.get <cmd_Entity_Rank_Info_head>(); for (uint i = 1; i <= nCountdata.nCount; ++i) { // 暂时用这个结构体 cmd_Entity_HighLadder_Rank_Info data = helper.get <cmd_Entity_HighLadder_Rank_Info>(); vRoomItemStruct.ClearElements(); vRoomItemStruct.SetElement(0, data.nOrderID); vRoomItemStruct.SetElement(1, data.szPlayerName); vRoomItemStruct.SetElement(2, data.nRankGrade); vRoomItemStruct.SetElement(3, data.nRankScore); vRoomItemStruct.SetElement(4, data.szGradeName); // vRoomItemStruct.SetElement(i, data); if (vRoomListFrame.Invoke("AddHallRoomItem") == null) { Trace.LogError("call AddHallRoomItem failed!!"); } } }
//接收捐卡榜数据 public void OnRecvRequestDonateRankData(IntPtr ptr, int nLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptr, nLen); cmd_Entity_Rank_Info_head head = helper.get <cmd_Entity_Rank_Info_head>(); DonateChartList.AllDataList.Clear(); for (int i = 0; i < head.nCount; i++) { cmd_entity_donate_order_info data = helper.get <cmd_entity_donate_order_info>(); if (EntityFactory.MainHeroView != null && EntityFactory.MainHeroView.Property != null) { if ((int)data.nPDBID == EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_ID)) { DonateChartList.PersonalRank = (int)data.nOrder; } ; } DonateChartList.AllDataList.Add(data); } if (DonateChartList.AllDataList.Count > 0) { DonateChartList.LastScore = DonateChartList.AllDataList[head.nCount - 1].nTotalClanCtrb; } UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_RECVREQUESTDONATECHARTDATA, null); }
//接收上周学徒榜数据 public void OnRecvRequestLastWeekPrenticeRankData(IntPtr ptr, int nLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptr, nLen); cmd_Entity_Rank_Info_head head = helper.get <cmd_Entity_Rank_Info_head>(); LastWeekPrenticeChartList.AllDataList.Clear(); for (int i = 0; i < head.nCount; i++) { cmd_entity_mentorship_order_info data = helper.get <cmd_entity_mentorship_order_info>(); //如果有自己数据,存一下排名 if (EntityFactory.MainHeroView != null && EntityFactory.MainHeroView.Property != null) { if (data.dwPDBID == EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_ID)) { LastWeekPrenticeChartList.PersonalRank = data.nOrder; } } LastWeekPrenticeChartList.AllDataList.Add(data); } if (LastWeekPrenticeChartList.AllDataList.Count > 0) { LastWeekPrenticeChartList.LastScore = (int)LastWeekPrenticeChartList.AllDataList[head.nCount - 1].dwShipVal; } UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_RECVREQUESTLASTWEEKPRENTICECHARTDATA, null); }
//接收英雄类型榜数据 public void OnRecvRequestHeroTypeRankData(IntPtr ptr, int nLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptr, nLen); cmd_Entity_Rank_Info_head head = helper.get <cmd_Entity_Rank_Info_head>(); HeroTypeChartList.Clear(); for (int i = 0; i < head.nCount; i++) { cmd_entity_herotype_order_info data = helper.get <cmd_entity_herotype_order_info>(); HeroTypeChartList.Add(data); } UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_RECVREQUESTHEROTYPECHARTDATA, null); }
//接收英雄王者榜数据 public void OnRecvRequestKingOfHeroRankData(IntPtr ptr, int nLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptr, nLen); cmd_Entity_Rank_Info_head cmdHead = helper.get <cmd_Entity_Rank_Info_head>(); KingOfHeroChartList.AllDataList.Clear(); for (int i = 0; i < cmdHead.nCount; ++i) { cmd_entity_king_of_hero_order_info cmdNode = helper.get <cmd_entity_king_of_hero_order_info>(); KingOfHeroChartList.AllDataList.Add(cmdNode); } UIMsgCmdData uiMsgData = new UIMsgCmdData((int)WndMsgID.WND_MSG_RECVREQUEST_KING_OF_HERO_CHARTDATA, cmdHead.nOtherCondition, "", IntPtr.Zero, 0); UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_RECVREQUEST_KING_OF_HERO_CHARTDATA, uiMsgData); }
// 接收英雄数量榜数据 public void OnRecvRequestHeroCountRankData(IntPtr ptr, int nLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptr, nLen); cmd_Entity_Rank_Info_head cmdHead = helper.get <cmd_Entity_Rank_Info_head>(); HeroCountChartList.AllDataList.Clear(); HeroCountChartList.FriendDataList.Clear(); HeroCountChartList.ClanMemberDataList.Clear(); for (int i = 0; i < cmdHead.nCount; ++i) { cmd_entity_herocount_order_info cmdNode = helper.get <cmd_entity_herocount_order_info>(); // 如果有自己数据,存一下排名 if (EntityFactory.MainHeroView != null && EntityFactory.MainHeroView.Property != null) { if (cmdNode.dwPDBID == EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_ID)) { HeroCountChartList.PersonalRank = cmdNode.nOrder; } int m_clanID = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_CLAN); if (m_clanID > 0 && m_clanID == (int)cmdNode.dwClanID) { HeroCountChartList.ClanMemberDataList.Add(cmdNode); } } if (LogicDataCenter.snsDataManager.isBuddyRelation((int)cmdNode.dwUserID)) { HeroCountChartList.FriendDataList.Add(cmdNode); } HeroCountChartList.AllDataList.Add(cmdNode); } if (HeroCountChartList.AllDataList.Count > 0) { HeroCountChartList.LastScore = HeroCountChartList.AllDataList[cmdHead.nCount - 1].dwHeroCount; } UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_RECVREQUESTHEROCOUNTCHARTDATA, null); }
//接收多杀榜数据 public void OnRecvRequestKillRankData(IntPtr ptr, int nLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptr, nLen); cmd_Entity_Rank_Info_head head = helper.get <cmd_Entity_Rank_Info_head>(); KillRankList.AllDataList.Clear(); KillRankList.FriendDataList.Clear(); KillRankList.ClanMemberDataList.Clear(); for (int i = 0; i < head.nCount; i++) { cmd_entity_kill_order_info data = helper.get <cmd_entity_kill_order_info>(); //如果有自己数据,存一下排名 if (EntityFactory.MainHeroView != null && EntityFactory.MainHeroView.Property != null) { if (data.nPDBID == EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_ID)) { KillRankList.PersonalRank = data.nOrderID; } int m_clanID = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_CLAN); if (m_clanID > 0 && m_clanID == (int)data.dwClanID) { KillRankList.ClanMemberDataList.Add(data); } } if (LogicDataCenter.snsDataManager.isBuddyRelation((int)data.dwUserID)) { KillRankList.FriendDataList.Add(data); } KillRankList.AllDataList.Add(data); } if (KillRankList.AllDataList.Count > 0) { KillRankList.LastScore = KillRankList.AllDataList[head.nCount - 1].n5KillNum; } UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_RECVREQUESTKILLRANKDATA, null); }
public void OnRecvHighLadder(IntPtr ptr, int nLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptr, nLen); cmd_Entity_Rank_Info_head nCountdata = helper.get <cmd_Entity_Rank_Info_head>(); HighLadderArray ladderArray = new HighLadderArray(nCountdata.nCount); ladderArray.nLadderCount = nCountdata.nCount; for (int i = 0; i < nCountdata.nCount; i++) { cmd_Entity_HighLadder_Rank_Info data = helper.get <cmd_Entity_HighLadder_Rank_Info>(); HighLadderInfo ladderInfo = new HighLadderInfo(); ladderInfo.OrderID = data.nOrderID; ladderInfo.nPDBID = (int)data.idActor; ladderInfo.PlayerName = data.szPlayerName; ladderInfo.RankGrade = data.nRankGrade; ladderInfo.RankScore = data.nRankScore; ladderInfo.RankGradeDes = data.szGradeName; ladderArray.allLadderInfo[i] = ladderInfo; } if (view != null) { view.ShowHighLadderInfo(ladderArray); } }
//接收战队榜数据 public void OnRecvRequestKinRankData(IntPtr ptr, int nLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptr, nLen); cmd_Entity_Rank_Info_head head = helper.get <cmd_Entity_Rank_Info_head>(); KinChartList.AllDataList.Clear(); for (int i = 0; i < head.nCount; i++) { cmd_entity_kin_order_info data = helper.get <cmd_entity_kin_order_info>(); if (EntityFactory.MainHeroView != null && EntityFactory.MainHeroView.Property != null) { if ((int)data.dwKinID == EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_KIN)) { KinChartList.PersonalRank = (int)data.nOrderID; } } KinChartList.AllDataList.Add(data); } if (KinChartList.AllDataList.Count > 0) { KinChartList.LastScore = (int)KinChartList.AllDataList[head.nCount - 1].dwTotalFightCapacity; } UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_RECVREQUESTKINCHARTDATA, null); }