/// 存入 OtherPlayerLevelData public static void Request_10_Before_And_10_After(Action callback = null, Action failCallback = null) { JsonData data = new JsonData(); data["levelID"] = StaticData.LevelID; data["uid"] = SelfPlayerData.Uuid; SnapAppApi.GetRankOfTenByLevelAndUserID(data, (SnapRpcDataVO vo) => { //string jsonString = JsonMapper.ToJson(vo); LogManager.Log(" Request_10_Before_And_10_After.收到 = ", vo.data); LevelScroesObject scoresObject = levelObject(vo); if (scoresObject.data == null) { if (failCallback != null) { failCallback.Invoke(); } return; } else { OtherPlayerLevelData.Setup_10_Before_And_10_After(scoresObject); if (callback != null) { callback.Invoke(); } } }); }
public static void Setup_Page(/**string jsonString**/ LevelScroesObject scoresObj, int page, int countPerPage) { Reset(); LevelScroes = scoresObj; //LevelScroesObject.CreateFromJSON(jsonString); Total = LevelScroes.data.total; PageNo = page; pageRanks = LevelScroes.data.rankingScores; for (int i = 0; i < LevelScroes.data.rankingScores.Count; i++) { LevelScroes.data.rankingScores[i].rank = countPerPage * page + i + 1; } }
public static LevelScroesObject levelObject(SnapRpcDataVO vo) { LevelScroesObject scoresObj = new LevelScroesObject(); scoresObj.status = vo.status; scoresObj.message = vo.message; if (vo.data != null) { LogManager.Log("获取排行榜时服务器返回数据:", vo.data.ToJson()); } if (vo.data != null && ((IDictionary)vo.data).Keys.Count > 0) { string jsonString = JsonMapper.ToJson(vo.data); LevelScroesObject.Data scoreData = JsonUtility.FromJson <LevelScroesObject.Data>(jsonString); scoresObj.data = scoreData; } return(scoresObj); }
public static void Setup_10_Before_And_10_After(/**string jsonString**/ LevelScroesObject scoresObj) { Reset(); LevelScroes = scoresObj; //LevelScroesObject.CreateFromJSON(jsonString); Total = LevelScroes.data.total; bool isFoundSelf = false; int selfRank = 0; for (int i = 0; i < LevelScroes.data.rankingScores.Count; i++) { //print(LevelScroes.data.rankingScores[i].historyID); // 临时解决服务器rank少1 //LevelScroes.data.rankingScores[i].rank += 1; if (isFoundSelf == false) { if (LevelScroes.data.rankingScores[i].uid == SelfPlayerData.Uuid) { selfRankObject = LevelScroes.data.rankingScores[i]; isFoundSelf = true; selfRank = selfRankObject.rank; } else { higherRanks.Add(LevelScroes.data.rankingScores[i]); } } else { lowerRanks.Add(LevelScroes.data.rankingScores[i]); } } PageNo = selfRank / 10; for (int i = 0; i < LevelScroes.data.rankingScores.Count; i++) { if ((LevelScroes.data.rankingScores[i].rank - 1) / 10 == PageNo) { pageRanks.Add(LevelScroes.data.rankingScores[i]); } } }
/// 存入 OtherPlayerLevelData public static void Request_Page(int page, Action callback = null, int countPerPage = 10) { JsonData data = new JsonData(); data["levelID"] = StaticData.LevelID; data["page"] = page; data["per_page"] = countPerPage; data["from_index"] = 0; SnapAppApi.GetRankScoresByLevelID(data, (SnapRpcDataVO vo) => { //LogManager.Log(vo.data.ToJson()); LevelScroesObject scoresObject = levelObject(vo); if (scoresObject.data == null) { return; } OtherPlayerLevelData.Setup_Page(scoresObject, page, countPerPage); if (callback != null) { callback.Invoke(); } }); }