| | |
| | | //
|
| | | // startIndex 和 count 配对,与watchID无关联
|
| | | // watchID; //查看指定ID名次前后,查询范围服务端已固定,如果只要查指定目标,count可以设置1减少附加信息
|
| | | public void QueryRankByPage(int type, int startIndex = 0, int count = 20, int watchID = 0, bool forceQuery = false, int groupValue1 = 0, int groupValue2 = 0)
|
| | | public void QueryRankByPage(int type, int startIndex = 0, int count = 20, int watchID = 0, bool forceQuery = false,
|
| | | int groupValue1 = 0, int groupValue2 = 0, int crossServerID=0)
|
| | | {
|
| | | if (queryRankCD.ContainsKey(type) && !forceQuery)
|
| | | {
|
| | |
| | | pak.StartIndex = (ushort)startIndex; //排名从0开始
|
| | | pak.ViewCnt = (byte)count;
|
| | | pak.ViewID = (uint)watchID;
|
| | | pak.CrossServerID = (uint)crossServerID;
|
| | |
|
| | | GameNetSystem.Instance.SendInfo(pak);
|
| | | queryRankCD[type] = (int)Time.time;
|
| | | }
|
| | |
|
| | |
|
| | | public void ListenRankPage(int type, int index, int groupValue1 = 0, int groupValue2 = 0)
|
| | | public void ListenRankPage(int type, int index, int groupValue1 = 0, int groupValue2 = 0, int crossServerID = 0)
|
| | | {
|
| | | int page = index / pageCnt;
|
| | | if (index > page * pageCnt + queryPointNum)
|
| | |
| | | }
|
| | | }
|
| | | Debug.LogFormat("分页查询:{0} - {1}", index, page);
|
| | | QueryRankByPage(type, pageCnt * (page + 1), pageCnt, 0, true, groupValue1, groupValue2);
|
| | | QueryRankByPage(type, pageCnt * (page + 1), pageCnt, 0, true, groupValue1, groupValue2, crossServerID);
|
| | | queryPageTimes[page] = Time.realtimeSinceStartup;
|
| | | }
|
| | | }
|
| | |
| | | for (int i = 0; i < package.PageDataCnt; i++)
|
| | | {
|
| | | int orderIndex = (int)package.PageDataList[i].Rank;
|
| | | if (rankType == QunyingManager.rankType && GeneralDefine.IsRobot((int)package.PageDataList[i].ID))
|
| | | if ((rankType == QunyingManager.rankType || rankType == QunyingManager.crossRankType) && GeneralDefine.IsRobot((int)package.PageDataList[i].ID))
|
| | | {
|
| | | //群英榜机器人ID会重复 用排名替换ID
|
| | | package.PageDataList[i].ID = (uint)orderIndex;
|