//新規ユーザー登録 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; }
//指定したユーザー名がランキング上に存在するかチェック(モード問わず) 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; }); }
//ユーザ名変更 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; }
//指定したユーザー名がランキング上に存在するかチェック(指定したモード) 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; }