示例#1
0
    //新規ユーザー登録
    public void SaveNewUser(string name, CallbackBool callback)
    {
        isNameExist = false;
        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>(usersClassName);

        query.WhereEqualTo("name", name); // 古い名前でデータを絞る
        query.FindAsync((List <NCMBObject> objList, NCMBException e) =>
        {
            if (e == null)
            {     //検索成功したら
                if (objList.Count > 0)
                { // 1個以上あれば
                    isNameExist = true;
                }
                else
                {
                    NCMBObject obj = new NCMBObject(usersClassName);
                    obj["name"]    = name; // 新しい名前にする
                    obj.SaveAsync((NCMBException e2) =>
                    {
                        if (e2 == null)
                        {
                            GameMaster.gameMaster.Save();
                        }
                    });
                }
            }
            callback(isNameExist);
        });
        return;
    }
示例#2
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;
        });
    }
示例#3
0
    //ユーザ名変更
    public void RenameUser(string previousName, string newName, CallbackBool callback)
    {
        isNameExist = false;
        NCMBQuery <NCMBObject> query = new NCMBQuery <NCMBObject>(usersClassName);

        query.WhereEqualTo("name", previousName); // 古い名前でデータを絞る
        query.FindAsync((List <NCMBObject> objList, NCMBException e) =>
        {
            if (e == null)
            {     //検索成功したら
                if (objList.Count > 0)
                { // 1個以上あれば
                    for (int i = 0; i < objList.Count; i++)
                    {
                        objList[i]["name"] = newName; // 新しい名前にする
                        objList[i].SaveAsync((NCMBException e2) =>
                        {
                            if (e2 == null)
                            {
                                GameMaster.gameMaster.Save();
                                isNameExist = true;
                            }
                        });
                    }
                }
            }
            callback(isNameExist);
        });

        query = new NCMBQuery <NCMBObject>(rankingClassName);
        query.WhereEqualTo("name", previousName); // 古い名前でデータを絞る
        query.FindAsync((List <NCMBObject> objList, NCMBException e) =>
        {
            if (e == null)
            {     //検索成功したら
                if (objList.Count > 0)
                { // 1個以上あれば
                    for (int i = 0; i < objList.Count; i++)
                    {
                        objList[i]["name"] = newName; // 新しい名前にする
                        objList[i].SaveAsync((NCMBException e2) =>
                        {
                            if (e2 == null)
                            {
                            }
                        });
                    }
                }
            }
        });
        return;
    }
示例#4
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;
    }