コード例 #1
0
    //指定したユーザー名がランキング上に存在するかチェック(指定したモード)
    public void IsNameExistInRanking(string name, int gameModeId, Save_ranking_item save_Ranking_Item, CallbackBool callback)
    {
        isNameExist = false;

        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>(rankingClassName);

        query.WhereEqualTo("name", name);
        query.WhereEqualTo("gameModeId", gameModeId);
        query.WhereEqualTo("type", (int)save_Ranking_Item);
        query.CountAsync((int count, NCMBException e) =>
        { // 1つ上のコードで絞られたデータが何個あるかかぞえる
            if (e == null)
            {
                if (count == 0)
                { // 0個なら名前は登録されていない
                    isNameExist = false;
                }
                else
                { // 0個じゃなかったらすでに名前が登録されている
                    isNameExist = true;
                }
            }
            callback(isNameExist);
        });

        return;
    }
コード例 #2
0
    public void GetDataRecoveryCount(string userId)
    {
        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>("dataRecovery");

        query.WhereEqualTo("userId", userId);
        query.CountAsync((int count, NCMBException e) => {
            if (e != null)
            {
                audioSources[4].Play();
                Message msg = new Message();
                msg.makeMessage(msg.getMessage(113));
                ResetValue();
            }
            else
            {
                //件数取得成功
                dataRecoveryCount = count;
                if (dataRecoveryCount != 0)
                {
                    audioSources[4].Play();
                    Message msg = new Message();
                    msg.makeMessage(msg.getMessage(149));
                    ResetValue();
                }
            }
        });
    }
コード例 #3
0
    public void FetchPlayerCount(UnityAction callback = null)
    {
        if (CheckNCMBValid() == false)
        {
            if (callback != null)
            {
                callback();
            }
            return;
        }

        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>(rankingClassName);

        query.CountAsync((int count, NCMBException e) => {
            if (e != null)
            {
                //接続失敗//
            }
            else
            {
                //接続成功//
                PlayerCount = count;
            }
            if (callback != null)
            {
                callback();
            }
        });
    }
コード例 #4
0
    //指定したユーザー名がランキング上に存在するかチェック(モード問わず)
    public void IsNameExistAll(string name, CallbackBool callback)
    {
        isBusy      = true;
        isNameExist = false;

        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>(rankingClassName);

        query.WhereEqualTo("name", name);
        query.CountAsync((int count, NCMBException e) =>
        {
            if (e == null)
            {
                if (count == 0)
                { // 0個なら名前は登録されていない
                    Debug.Log("false");
                    isNameExist = false;
                }
                else
                { // 0個じゃなかったらすでに名前が登録されている
                    Debug.Log("true");
                    isNameExist = true;
                }
            }
            callback(isNameExist);
            isBusy = false;
        });
    }
コード例 #5
0
    /*
     * public void GetWinRankWeekly(int totalWinNo, bool enemyFlg) {
     *  NCMBQuery<NCMBObject> query = new NCMBQuery<NCMBObject>("pvpWeekly");
     *  query.WhereGreaterThan("totalWinNo", totalWinNo);
     *  query.CountAsync((int count, NCMBException e) => {
     *      if (e != null) {
     *          //件数取得失敗
     *      }else {
     *          //件数取得成功
     *          if (!enemyFlg) {
     *              winRankWeekly = count + 1;// 自分よりスコアが上の人がn人いたら自分はn+1位
     *          }else {
     *              pvpWinRankList.Add(count + 1);
     *          }
     *      }
     *  });
     * }
     */

    public void GetPtRankWeekly(int totalPt, bool enemyFlg, int todayNCMB)
    {
        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>("pvpTmp");

        query.WhereGreaterThan("totalPt", totalPt);

        //date
        query.WhereGreaterThanOrEqualTo("endDate", todayNCMB);

        query.CountAsync((int count, NCMBException e) => {
            if (e != null)
            {
                //件数取得失敗
            }
            else
            {
                //件数取得成功
                if (!enemyFlg)
                {
                    ptRankWeekly = count + 1;// 自分よりスコアが上の人がn人いたら自分はn+1位
                }
                else
                {
                    pvpPtRankList.Add(count + 1);
                }
            }
        });
    }
コード例 #6
0
ファイル: RankController.cs プロジェクト: sgtkraft/Oju
    /// <summary>
    /// NCMBからランク情報を取得
    /// </summary>
    private void FetchRank4Ncmb(int score)
    {
        // データスコアの「HighScore」から検索
        NCMBQuery <NCMBObject> rankQuery = new NCMBQuery <NCMBObject>("HighScore");

        rankQuery.WhereGreaterThan("score", score);

        rankQuery.CountAsync((int count, NCMBException e) =>
        {
            if (e != null)
            {
                // 順位取得失敗
                ToastManager.Show("データの取得に失敗しました");
                myRankText.SetText("---");
                gc.canRegister = false;
            }
            else
            {
                // 順位取得成功
                // ランクが閾値を下回っていなければ登録可能
                int rank = count + 1;
                if (rank <= gc.rankBorder)
                {
                    myRankText.SetText(rank.ToString());
                    gc.canRegister = true;
                }
                else
                {
                    myRankText.SetText(string.Format("{0}+", gc.rankBorder));
                    gc.canRegister = false;
                }
            }
        });
    }
コード例 #7
0
    void GetImageCount()
    {
        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject> ("DoodleRecord");

        query.WhereEqualTo("date", DateTime.Now.Date);
        query.WhereEqualTo("type", pictureType);
        if (pictureType == "doodle")
        {
            query.WhereEqualTo("theme", Configuration.theme);
        }
        query.CountAsync((int count, NCMBException e) => {
            if (e != null)
            {
                //件数取得失敗時の処理
            }
            else
            {
                //件数を出力
                imageCount = count;
                if (imageCount == 0)
                {
                    noText.SetActive(true);
                }
            }
        });
    }
コード例 #8
0
        /// <summary>
        ///クエリにマッチするオブジェクト数の取得を行います。
        /// </summary>
        /// <returns>カウント数</returns>
        public static IObservable <int> CountAsyncAsStream <T>(this NCMBQuery <T> query) where T : NCMBObject
        {
            return(Observable.Create <int>(observer =>
            {
                var gate = new object();
                var isDisposed = false;
                query.CountAsync((count, error) =>
                {
                    lock (gate)
                    {
                        if (isDisposed)
                        {
                            return;
                        }

                        if (error == null)
                        {
                            observer.OnNext(count);
                            observer.OnCompleted();
                        }
                        else
                        {
                            observer.OnError(error);
                        }
                    }
                });
                return Disposable.Create(() =>
                {
                    lock (gate)
                    {
                        isDisposed = true;
                    }
                });
            }));
        }
コード例 #9
0
    //指定したレコードのランクを取得
    public void fetchRank(string name, int gameModeId, Save_ranking_item save_Ranking_Item, CallbackInt callback)
    {
        currentRank = 0;
        RankingRecord myRecord = null;
        // データスコアの「HighScore」から検索
        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>(rankingClassName);

        query.WhereEqualTo("name", name);
        query.WhereEqualTo("gameModeId", gameModeId);
        query.WhereEqualTo("type", (int)save_Ranking_Item);
        query.FindAsync((List <NCMBObject> objList, NCMBException e) =>
        {
            if (e == null && objList.Count > 0)
            {                                                                      //検索成功したら
                string _name    = System.Convert.ToString(objList[0]["name"]);     // 名前を取得
                float _distance = System.Convert.ToSingle(objList[0]["distance"]); // スコアを取得
                float _timeSpan = System.Convert.ToSingle(objList[0]["timeSpan"]);
                myRecord        = new RankingRecord(0, _name, _distance, _timeSpan, save_Ranking_Item);

                var query2 = new NCMBQuery <NCMBObject>(rankingClassName);
                query2.WhereEqualTo("gameModeId", gameModeId);
                query2.WhereEqualTo("type", (int)save_Ranking_Item);
                switch (save_Ranking_Item)
                {
                case Save_ranking_item.SAVE_RANKING_HIGH:
                    query2.WhereGreaterThanOrEqualTo("distance", myRecord.distance);
                    break;

                case Save_ranking_item.SAVE_RANKING_LOW:
                    query2.WhereLessThanOrEqualTo("distance", myRecord.distance);
                    break;

                default:
                    break;
                }

                query2.CountAsync((int count, NCMBException e2) =>
                {
                    if (e2 != null)
                    {
                        //件数取得失敗
                        callback(currentRank);
                    }
                    else
                    {
                        //件数取得成功
                        currentRank = count + 1; // 自分よりスコアが上の人がn人いたら自分はn+1位
                    }
                    callback(currentRank);
                });
            }
            else
            {
                callback(currentRank);
            }

            return;
        });
    }
コード例 #10
0
ファイル: StartGame.cs プロジェクト: pratikxman/Sengoku2d
    public void GetBanCount(string userId)
    {
        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>("ban");

        query.WhereEqualTo("userId", userId);
        query.CountAsync((int count, NCMBException e) => {
            ban = count;
        });
    }
コード例 #11
0
    //IDを作成する関数
    void CreateID()
    {
        ID_int = (int)Random.Range(0, 999);       //0~999の乱数を生成し、IDにする
                                                  //IDをstring型に直す
        if (ID_int < 100)
        {
            ID_str += "0";
            if (ID_int < 10)
            {
                ID_str += "0";
            }
        }
        ID_str += ID_int.ToString();


        //取得テスト
        //UserIDsを検索するクラスを作成
        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>("UserIDs");

        //IDの値がID_strと一致するオブジェクトを検索
        query.WhereEqualTo("ID", ID_str);
        query.CountAsync((int count, NCMBException e) =>
        {
            if (e != null)
            {
                //検索失敗時
                Debug.Log("エラーです");
            }
            else
            {
                //被っていなければ
                if (count == 0)
                {
                    //IDを表示する
                    //ID_text.text = "ID:" + ID_str;


                    //クラスを作成
                    NCMBObject objClass = new NCMBObject("UserIDs");
                    // オブジェクトに値を設定
                    objClass["ID"]   = ID_str;
                    objClass["Name"] = "name";
                    // データストアへの登録
                    objClass.SaveAsync();
                }
                //被っていたら
                else
                {
                    ID_str = "";
                    CreateID();
                }
            }
        });

        Debug.Log("終了");
    }
コード例 #12
0
    /// <summary>
    /// mBaaS上のランキングクラスから総プレイヤー数を取得する
    /// </summary>
    /// <param name="callback">コールバック関数</param>
    public void GetTotalPlayers(IntCallback callback)
    {
        NCMBQuery <NCMBObject> query = GetQuery(NCMBUTRankingsDefaultSettings.RANKING_CLASS);

        query.WhereEqualTo(NCMBUTRankingsDefaultSettings.RankingsDefaultFields.stage.ToString(), Stage);
        query.CountAsync((int count, NCMBException error) => {
            callback(count, error);
            return;
        });
    }
コード例 #13
0
	// 現プレイヤーのハイスコアを受けとってランクを取得 ---------------
	
	public void fetchRank( int currentScore )
	{
		// データスコアの「HighScore」から検索
		NCMBQuery<NCMBObject> rankQuery = new NCMBQuery<NCMBObject> ("HighScore");
		rankQuery.WhereGreaterThan("Score", currentScore);
		rankQuery.CountAsync((int count , NCMBException e )=>{
			
			if(e != null){
				//件数取得失敗
			}else{
				//件数取得成功
				currentRank = count+1; // 自分よりスコアが上の人がn人いたら自分はn+1位
			}
		});
	}
コード例 #14
0
    public static void GetCount()
    {
        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>("NCMB_RTC");

        query.CountAsync((int count, NCMBException e) =>
        {
            if (e != null)
            {
                //件数取得失敗時の処理
            }
            else
            {
                //件数を出力
                Debug.Log("件数 : " + count);
            }
        });
    }
コード例 #15
0
        /// <summary>
        /// クエリにマッチするオブジェクト数の取得を行います。
        /// </summary>
        public static Task <int> CountTaskAsync <T>(this NCMBQuery <T> query) where T : NCMBObject
        {
            var tcs = new TaskCompletionSource <int>();

            query.CountAsync((count, error) =>
            {
                if (error != null)
                {
                    tcs.SetException(error);
                }
                else
                {
                    tcs.SetResult(count);
                }
            });
            return(tcs.Task);
        }
コード例 #16
0
    public void GetWinRank(int totalWinNo)
    {
        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>("pvp");

        query.WhereGreaterThan("totalWinNo", totalWinNo);
        query.CountAsync((int count, NCMBException e) => {
            if (e != null)
            {
                //件数取得失敗
            }
            else
            {
                //件数取得成功
                winRank = count + 1;// 自分よりスコアが上の人がn人いたら自分はn+1位
            }
        });
    }
コード例 #17
0
    /* Total Start */
    public void GetPvPCount()
    {
        //PvPCount
        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>("pvp");

        query.CountAsync((int count, NCMBException e) => {
            if (e != null)
            {
                //件数取得失敗
                Debug.Log(count);
            }
            else
            {
                //件数取得成功
                pvpCount = count;
            }
        });
    }
コード例 #18
0
    public void GetHpRank()
    {
        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>("pvp");

        myJinkeiHeiryoku = PlayerPrefs.GetInt("jinkeiHeiryoku");
        query.WhereGreaterThan("jinkeiHeiryoku", myJinkeiHeiryoku);
        query.CountAsync((int count, NCMBException e) => {
            if (e != null)
            {
                //件数取得失敗
            }
            else
            {
                //件数取得成功
                hpRank = count + 1;// 自分よりスコアが上の人がn人いたら自分はn+1位
            }
        });
    }
コード例 #19
0
ファイル: LeaderBoard.cs プロジェクト: sbleru/kiritore
    // 現プレイヤーのハイスコアを受けとってランクを取得 ---------------
    public void fetchRank(int currentScore)
    {
        // データスコアの「HighScore」から検索
        NCMBQuery <NCMBObject> rankQuery = new NCMBQuery <NCMBObject> ("HighScore");

        rankQuery.WhereGreaterThan("Score", currentScore);
        rankQuery.CountAsync((int count, NCMBException e) => {
            if (e != null)
            {
                //件数取得失敗
            }
            else
            {
                //件数取得成功
                currentRank = count + 1;               // 自分よりスコアが上の人がn人いたら自分はn+1位
            }
        });
    }
コード例 #20
0
ファイル: DataPvP.cs プロジェクト: pratikxman/Sengoku2d
    public int getPvPCount()
    {
        int allCount = 0;
        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>("pvp");

        query.CountAsync((int count, NCMBException e) => {
            if (e != null)
            {
                //件数取得失敗
            }
            else
            {
                //件数取得成功
                allCount = count;
            }
        });

        return(allCount);
    }
コード例 #21
0
    /// <summary>
    /// 現在の自分の順位を取得する。
    /// ※ ログインが必須
    /// </summary>
    /// <param name="callback">コールバック関数</param>
    public void GetCurrentRank(IntCallback callback)
    {
        // ログイン状態の確認を行う
        if (!GetIsLogIn)
        {
            callback(0, new NCMBException(NCMBUTErrorMessage.NOT_LOGIN_ERROR));
            return;
        }

        // 自分のスコアデータを取得する
        NCMBQuery <NCMBObject> findQuery = GetPlaneQuery(NCMBUTRankingsDefaultSettings.RANKING_CLASS);

        findQuery.WhereEqualTo(NCMBUTRankingsDefaultSettings.RankingsDefaultFields.player.ToString(), NCMBUser.CurrentUser);
        findQuery.WhereEqualTo(NCMBUTRankingsDefaultSettings.RankingsDefaultFields.stage.ToString(), Stage);
        findQuery.FindAsync((List <NCMBObject> objList, NCMBException findError) => {
            // 検索結果がなければ0を返す
            if (objList.Count == 0)
            {
                callback(0, findError);
                return;
            }

            // スコアデータを元に順位を取得
            NCMBQuery <NCMBObject> countQuery = GetQuery(NCMBUTRankingsDefaultSettings.RANKING_CLASS);

            switch (Sort)
            {
            case NCMBUTSortType.Ascending:
                countQuery.WhereLessThan(SortField, objList[0][SortField]);
                break;

            case NCMBUTSortType.Descending:
                countQuery.WhereGreaterThan(SortField, objList[0][SortField]);
                break;
            }

            countQuery.WhereEqualTo(NCMBUTRankingsDefaultSettings.RankingsDefaultFields.stage.ToString(), Stage);
            countQuery.CountAsync((int count, NCMBException countError) => {
                callback(count + 1, countError);
                return;
            });
        });
    }
コード例 #22
0
    // プレーヤー名の存在確認/変更(使ってない)
    void CheckPlayerName(string playerName)
    {
        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>("ScoreRanking");

        query.WhereEqualTo("playername", playerName);
        query.CountAsync((int count, NCMBException e) => { // 1つ上のコードで絞られたデータが何個あるかかぞえる
            if (e == null)
            {
                if (count == 0)
                { // 0個なら名前は登録されていない
                    Debug.Log("登録可能です");
                }
                else
                { // 0個じゃなかったらすでに名前が登録されている
                    Debug.Log("登録できません");
                }
            }
        });
    }
コード例 #23
0
    public void FetchMyRank(System.Action onSuccess)
    {
        // データスコアの「HighScore」から検索
        NCMBQuery <NCMBObject> rankQuery = new NCMBQuery <NCMBObject> ("OnlineRanking");

        rankQuery.WhereGreaterThan("HighScore", PlayerPrefs.GetInt("score"));
        rankQuery.CountAsync((int count, NCMBException e) => {
            if (e != null)
            {
                //件数取得失敗
            }
            else
            {
                //件数取得成功
                myRank = count + 1;               // 自分よりスコアが上の人がn人いたら自分はn+1位
                FetchMyRankingData(() => onSuccess());
            }
        });
    }
コード例 #24
0
ファイル: ranking.cs プロジェクト: KMproduction/Ohayou
    public void checkPlayerRename()
    {
        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>("ScoreRanking");
        string playerName            = renamefield.text;

        query.WhereEqualTo("playername", playerName);
        query.CountAsync((int count, NCMBException e) => { // 1つ上のコードで絞られたデータが何個あるかかぞえる
            if (e == null)
            {
                if (count == 0 && playerName != "")
                { // 0個なら名前は登録されていないので登録
                    json = File.ReadAllText(Application.persistentDataPath + "/data.json");
                    json = encryption.DecryptString(json);
                    JsonUtility.FromJsonOverwrite(json, sv);

                    renamePlayerName(sv._name, playerName, "ScoreRanking"); //改名したデータを送信
                    renamePlayerName(sv._name, playerName, "LevelRanking"); //改名したデータを送信

                    sv._name = playerName;
                    Debug.Log("あなたの新しい名前は" + sv._name);
                    json = JsonUtility.ToJson(sv);
                    json = encryption.EncryptString(json);
                    File.WriteAllText(Application.persistentDataPath + "/data.json", json);//結局これでよかった

                    Debug.Log("改名しました!!");

                    rename.SetActive(false);
                    setting.SetActive(true);

//                    CheckScore();

                    title_importaantvalue iv = scriptbox.GetComponent <title_importaantvalue>();//右上の名前を変更
                    iv.Start();
                }
                else
                { // 0個じゃなかったらすでに名前が登録されている
                    Debug.Log("登録できません");
                    duplicated_re.SetActive(true);
                }
            }
        });
    }
コード例 #25
0
    //	自分の順位
    public void FetchMyRank()
    {
        // データスコアの「HighScore」から検索
        NCMBQuery <NCMBObject> rankQuery = new NCMBQuery <NCMBObject> ("OnlineRanking");

        rankQuery.WhereGreaterThan("HighScore", PlayerPrefs.GetInt("score"));
        rankQuery.CountAsync((int count, NCMBException e) => {
            if (e != null)
            {
                //件数取得失敗s
            }
            else
            {
                //件数取得成功
                myRank = count + 1;               // 自分よりスコアが上の人がn人いたら自分はn+1位
                rankText.GetComponentInChildren <Text>().text = myRank.ToString();
                FetchMyRankingData();
            }
        });
    }
コード例 #26
0
    public int GetJinkeCount()
    {
        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>("pvpJinkei");
        int returnValue = 0;

        query.CountAsync((int count, NCMBException e) => {
            if (e != null)
            {
                //件数取得失敗
                returnValue = count;
            }
            else
            {
                //件数取得成功
                returnValue = count;
            }
        });

        return(returnValue);
    }
コード例 #27
0
    /* Total End */

    /* Weekly Start */
    public void GetPvPCountWeekly(int todayNCMB)
    {
        //PvPCount
        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>("pvpTmp");

        //date
        query.WhereGreaterThanOrEqualTo("endDate", todayNCMB);

        query.CountAsync((int count, NCMBException e) => {
            if (e != null)
            {
                //件数取得失敗
                Debug.Log("pvpTmp:" + count);
            }
            else
            {
                //件数取得成功
                pvpCountWeekly = count;
            }
        });
    }
コード例 #28
0
        private void fetchRank(RankingType type, int score)
        {
            var className = getClassName(type);
            var query     = new NCMBQuery <NCMBObject>(className);

            query.WhereGreaterThan(@"score", score);
            query.CountAsync((count, e) => {
                if (e != null)
                {
                    Debug.LogError(e);
                    currentRank.Exception = e;
                    return;
                }

                currentRank.Value = count + 1;

                builder.AppendLine($"あなたの順位: { currentRank.Value } 位");
                builder.AppendLine(@"============================");
                textField.text = builder.ToString();
            });
        }
コード例 #29
0
ファイル: DataPvP.cs プロジェクト: pratikxman/Sengoku2d
    public int getHPRank(int myJinkeiHeiryoku)
    {
        int myRank = 0;

        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>("pvp");

        query.WhereGreaterThan("jinkeiHeiryoku", myJinkeiHeiryoku);
        query.CountAsync((int count, NCMBException e) => {
            if (e != null)
            {
                //件数取得失敗
            }
            else
            {
                //件数取得成功
                myRank = count + 1;// 自分よりスコアが上の人がn人いたら自分はn+1位
            }
        });

        return(myRank);
    }
コード例 #30
0
    public void checkPlayerName()
    {
        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>("ScoreRanking");
        string playerName            = namefield.text;

        query.WhereEqualTo("playername", playerName);
        query.CountAsync((int count, NCMBException e) => { // 1つ上のコードで絞られたデータが何個あるかかぞえる
            if (e == null)
            {
                if (count == 0 || playerName == "")
                {                                            // 0個なら名前は登録されていないので登録
                    json = File.ReadAllText(Application.persistentDataPath + "/data.json");
                    JsonUtility.FromJsonOverwrite(json, sv); //
                    sv._name = playerName;
                    Debug.Log("あなたの名前は" + sv._name);
                    json = JsonUtility.ToJson(sv);
                    File.WriteAllText(Application.persistentDataPath + "/data.json", json);//結局これでよかった

                    saveScoreRanking(sv._name, sv._bestscore[0], sv._bestscore[1]);
                    saveLevelRanking(sv._name, sv._sv_level[0], sv._sv_level[1]);
                    Debug.Log("登録しました!!");

                    CheckScore();
                    //                    makename.SetActive(false);
                    //                    Topmenu.SetActive(true);
                    makename.SetActive(false);
//                    scenemover sm = scriptbox.GetComponent<scenemover>();//スコアを取得
//                    sm.homeButtonpushed();
                }
                else
                { // 0個じゃなかったらすでに名前が登録されている
                    Debug.Log("登録できません");
                    duplicated.SetActive(true);
                }
            }
        });
    }
コード例 #31
0
ファイル: SerchID.cs プロジェクト: YagiSosuke/ShoppingGame
    //検索するボタンをクリックしたとき
    public void SerchButton()
    {
        //ネットワークの状態を確認する
        if (Application.internetReachability == NetworkReachability.NotReachable)
        {
            //ネットワークに接続されていない状態
            Instance = Instantiate(ErrorPanelPrefab);
            Instance.transform.parent        = parent.transform;
            Instance.transform.localPosition = Vector3.zero;
            Instance.GetComponent <RectTransform>().offsetMax = Instance.GetComponent <RectTransform>().offsetMin = Vector2.zero;
        }
        else
        {
            //ネットワークに接続されている状態
            //UserIDsのクラスを検索
            NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>("UserIDs");
            //検索条件を指定
            query.WhereEqualTo("ID", FamilyID.text);

            //入力したIDのアカウントが存在するか調べる
            query.CountAsync((int count, NCMBException e) =>
            {
                if (e != null)
                {
                    //件数取得失敗時の処理
                }
                else
                {
                    Debug.Log("count : " + count);
                    //アカウントが存在した場合
                    if (count > 0)
                    {
                        //登録されている家族のIDを読み込む
                        string[] FileText = File.ReadAllLines(FilePath);
                        //IDが既に登録されているかを見るフラグ
                        bool IDRegisterYet = false;

                        //IDがすでに登録されているか検索
                        for (int i = 0; i < FileText.Length; i++)
                        {
                            Debug.Log("ファイル[" + i + "] = " + FileText[i]);
                            if (FileText[i] == FamilyID.text)
                            {
                                IDRegisterYet = true;
                                break;
                            }
                        }


                        //自分のIDが入力されたときの処理
                        if (FamilyID.text == PlayerPrefs.GetString("IDCreateYet", "null"))
                        {
                            UncorrectPanel.SetActive(true);
                            UncorrectText.text = "自分のIDを\n登録することはできません";
                        }

                        //IDが既に登録されている場合の処理
                        else if (IDRegisterYet)
                        {
                            UncorrectPanel.SetActive(true);
                            UncorrectText.text = "入力されたIDは\n既に登録されています";
                        }

                        else
                        {
                            //指定されたIDのアカウントを取得
                            GetAccount();
                        }
                    }
                    //アカウントが存在しない場合
                    else
                    {
                        //エラーパネルを表示
                        UncorrectPanel.SetActive(true);
                        UncorrectText.text = "入力されたIDは存在しません\nもう一度お試しください";
                    }
                }
            });
        }
    }