コード例 #1
0
ファイル: HighScore.cs プロジェクト: iwashidon2006/Hakaima
        // サーバーからTop10を取得 ---------------
        public void fetchTopRankers()
        {
            isCorrect = true;
            errorCode = null;
            isfetchTopRankersFinish = false;

            // データストアの「HighScore」クラスから検索
            NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject> ("HighScore");

            query.OrderByDescending("Score");
            query.Limit = HighScore.RANKING_MAX;
            query.FindAsync((List <NCMBObject> objList, NCMBException e) => {
                if (e != null)
                {
                    //検索失敗時の処理
                    errorCode = e.ErrorCode;
                }
                else
                {
                    //検索成功時の処理
                    List <NCMB.HighScore> list = new List <NCMB.HighScore>();
                    // 取得したレコードをHighScoreクラスとして保存
                    foreach (NCMBObject obj in objList)
                    {
                        int score   = System.Convert.ToInt32(obj["Score"]);
                        int stage   = System.Convert.ToInt32(obj["Stage"]);
                        string name = System.Convert.ToString(obj["Name"]);
                        list.Add(new HighScore(score, stage, name));
                    }
                    topRankers = list;
                }
                isfetchTopRankersFinish = true;
            });
        }
コード例 #2
0
ファイル: HighScore.cs プロジェクト: iwashidon2006/Hakaima
        // サーバーからrankの前後2件を取得 ---------------
        public void fetchNeighbors()
        {
            neighbors = new List <NCMB.HighScore>();
            isCorrect = true;
            errorCode = null;

            // スキップする数を決める(ただし自分が1位か2位のときは調整する)
            int numSkip = currentRank - 3;

            if (numSkip < 0)
            {
                numSkip = 0;
            }

            // データストアの「HighScore」クラスから検索
            NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject> ("HighScore");

            query.OrderByDescending("Score");
            query.Skip  = numSkip;
            query.Limit = HighScore.RANKING_MAX;
            query.FindAsync((List <NCMBObject> objList, NCMBException e) => {
                if (e != null)
                {
                    //検索失敗時の処理
                    errorCode = e.ErrorCode;
                }
                else
                {
                    //検索成功時の処理
                    List <NCMB.HighScore> list = new List <NCMB.HighScore>();
                    // 取得したレコードをHighScoreクラスとして保存
                    foreach (NCMBObject obj in objList)
                    {
                        int score   = System.Convert.ToInt32(obj["Score"]);
                        int stage   = System.Convert.ToInt32(obj["Stage"]);
                        string name = System.Convert.ToString(obj["Name"]);
                        list.Add(new HighScore(score, stage, name));
                    }
                    neighbors = list;
                }
            });
        }