| | |
| | | using System;
|
| | | using System.Collections.Generic;
|
| | | using LitJson;
|
| | | using UnityEngine;
|
| | |
|
| | | // 支持分页查询排行榜, 本服/跨服统一使用 参考QueryRankByPage 新封包 DTCA130_tagMCViewBillboardRet
|
| | |
| | | data.cmpValue2 = serverData.CmpValue2;
|
| | | data.cmpValue3 = serverData.CmpValue3;
|
| | | data.userData = serverData.UserData;
|
| | |
|
| | | var userData = JsonMapper.ToObject(serverData.UserData);
|
| | | if (userData.ContainsKey("FightPower"))
|
| | | {
|
| | | long.TryParse(userData["FightPower"].ToString(), out data.fightPower);
|
| | | }
|
| | | |
| | | data.rank = serverData.Rank;
|
| | | data.type = type;
|
| | | data.index = serverData.Index;
|
| | |
| | | data.cmpValue2 = serverData.CmpValue2;
|
| | | data.cmpValue3 = serverData.CmpValue3;
|
| | | data.userData = serverData.UserData;
|
| | |
|
| | | var userData = JsonMapper.ToObject(serverData.UserData);
|
| | | if (userData.ContainsKey("FightPower"))
|
| | | {
|
| | | long.TryParse(userData["FightPower"].ToString(), out data.fightPower);
|
| | | }
|
| | | |
| | | data.rank = serverData.Rank;
|
| | | data.index = serverData.Index;
|
| | | data.type = type; //与服务端一致的跨服排行榜类型,外部自行处理不同分组分赛季等情况
|
| | |
| | | public void ReceiveRankPagePackage(HA130_tagMCViewBillboardRet package)
|
| | | {
|
| | | int rankType = package.Type;
|
| | | //部分跨服排行榜同一个榜存在分组分区的情况 //赛区3位+赛季3位+排行榜类型3位
|
| | | if (rankType == 165) //CrossServerOneVsOneRewardModel.rankType
|
| | |
|
| | | //榜单类型6-武将登场招募榜 支持不同的ActNum同时开放活动,榜单数据独立
|
| | | if (rankType == 6)
|
| | | {
|
| | | rankType = (int)package.GroupValue1 * 1000000 + (int)package.GroupValue2 * 1000 + rankType;
|
| | | rankType = (int)package.GroupValue1 * 1000 + rankType;
|
| | | }
|
| | |
|
| | | if (!m_RankPageDatas.ContainsKey(rankType))
|
| | |
| | |
|
| | | for (int i = 0; i < package.PageDataCnt; i++)
|
| | | {
|
| | | int id = (int)package.PageDataList[i].ID;
|
| | | int orderIndex = (int)package.PageDataList[i].Rank;
|
| | | if (rankType == QunyingManager.rankType && GeneralDefine.IsRobot((int)package.PageDataList[i].ID))
|
| | | {
|
| | | //群英榜机器人ID会重复 用排名替换ID
|
| | | package.PageDataList[i].ID = (uint)orderIndex;
|
| | | }
|
| | | int id = (int)package.PageDataList[i].ID;
|
| | | if (!m_RankIDToIndex[rankType].ContainsKey(id))
|
| | | {
|
| | | m_RankIDToIndex[rankType][id] = orderIndex;
|
| | |
| | | return Language.Get("Arena15", config.ChapterID, config.LevelNum);
|
| | | case 4:
|
| | | return cmpValue.ToString();
|
| | | case 7:
|
| | | case 9:
|
| | | return Language.Get("OSActivity19", cmpValue.ToString());
|
| | | case 8:
|
| | | return Language.Get("L1113", cmpValue.ToString());
|
| | | }
|
| | | return string.Empty;
|
| | | }
|
| | |
| | | return Language.Get("RankTypeName_1");
|
| | | case 4:
|
| | | return Language.Get("OSActivity5");
|
| | | case 7:
|
| | | return Language.Get("OSActivity16");
|
| | | case 8:
|
| | | return Language.Get("OSActivity15");
|
| | | case 9:
|
| | | return Language.Get("OSActivity17");
|
| | | }
|
| | | return string.Empty;
|
| | | }
|
| | |
| | | public uint cmpValue2;
|
| | | public uint cmpValue3;
|
| | | public string userData;
|
| | | public long fightPower;
|
| | | public int rank; // 排名从1开始,代表第1名
|
| | | public int index; //数据在榜单列表中的索引,从0开始 非排名 分页查询会用到
|
| | | }
|