/// <summary> /// ユーザを検索する /// </summary> /// <param name="userName">検索する名前</param> /// <param name="callback">コールバック関数</param> public void GetSearchUserList(string userName, ListCallback callback) { if (!GetIsLogIn) { callback(null, new NCMBException(NCMBUTErrorMessage.NOT_LOGIN_ERROR)); return; } if (userName == "") { callback(null, new NCMBException(NCMBUTErrorMessage.EMPTY_USER_NAME)); return; } //find exist friends NCMBQuery <NCMBObject> friendsQuery = GetQuery(NCMBUTFriendsDefaultSettings.FRIEND_CLASS); friendsQuery.WhereEqualTo(NCMBUTFriendsDefaultSettings.FriendsDefaultFields.from.ToString(), NCMBUser.CurrentUser); friendsQuery.Include(NCMBUTFriendsDefaultSettings.FriendsDefaultFields.to.ToString()); friendsQuery.FindAsync((List <NCMBObject> objList, NCMBException error) => { if (error != null) { callback(null, error); return; } List <NCMBObject> players = new List <NCMBObject>(); players.Add(NCMBUser.CurrentUser as NCMBObject); foreach (NCMBObject friend in objList) { players.Add(friend["to"] as NCMBObject); } NCMBQuery <NCMBObject> query = GetQuery(NCMBUTPlayersDefaultSettings.PLAYERS_CLASS); query.WhereEqualTo("userName", userName); query.WhereNotContainedIn(NCMBUTPlayersDefaultSettings.PlayersDefaultFields.player.ToString(), players); query.Include(NCMBUTPlayersDefaultSettings.PlayersDefaultFields.player.ToString()); query.FindAsync((List <NCMBObject> playerList, NCMBException findError) => { callback(playerList, findError); return; }); }); }