Parse にデータを保存しましたが、ゲームをプレイしているユーザーのトップ 10 スコアを作成するためにそれにアクセスして、ユーザーがリストにのみ表示されるようにする必要があります。データは、各ゲームが名前、パスなどを持つユーザーを持つセッションを持つように保存されます。
したがって、Run Session => User (名前、パス、電子メールなど) になります。
ユーザーが既に topTen に存在するかどうかを確認し、名前を表示するために、ユーザーの名前にアクセスする必要があります。
セッションのデータにはアクセスできますが、ユーザーのデータにはアクセスできません。
int counter = 0;
ParseQuery<ParseObject> query = ParseObject.GetQuery("Runs").WhereEqualTo("scoreIdentifier", GameController.instance.scoreContext).OrderByDescending("score");
query.Include("session.user");
query.FindAsync().ContinueWith(t => {
IEnumerable<ParseObject> results = t.Result;
foreach (var item in results) {
if (item.ContainsKey("score")) {
if (counter < 10) {
topTenScores[counter] = item.Get<int>("score");
topTenNames[counter] = item.ObjectId;
ParseObject session = item.Get<ParseObject>("session");
Task<ParseObject> user = session.FetchAsync<ParseObject>();
user.ContinueWith(tt => {
ParseObject userName = tt.Result;
Debug.Log("CHECK FOR TT " + tt.Result.ObjectId);
});
}
if (counter == 9) {
updateTopTen = true;
}
counter++;
}
if (counter < 10)
updateTopTen = true;
}
});
tt.Result.ObjectId は Session の objectId を書き出しますが、私はそれが User の場合だと思います。
私が間違っていることに関する提案はありますか?