コード例 #1
0
    /// 存入 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();
                }
            }
        });
    }
コード例 #2
0
 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;
     }
 }
コード例 #3
0
    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);
    }
コード例 #4
0
    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]);
            }
        }
    }
コード例 #5
0
    /// 存入 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();
            }
        });
    }