2017-03-14 5 views
2

Xbox Creators Programにサインアップし、リーダーボードを取得しようとしています。しかし、私はC#APIを使用する例を見つけることができませんでした。 This pageはC++でそれを行う方法を示しています。Xbox Live C#APIリーダーボード例

ここに私のコードです。それはXboxLiveContext doesn't have a LeaderboardService propertyと書かれているので構築できません。 C#でリーダーボードサービスを作成するにはどうすればよいですか?

XboxLiveUser user = new XboxLiveUser(); 

SignInResult x = await user.SignInAsync(); 

XboxLiveContext context = new XboxLiveContext(user); 

LeaderboardResult result = await context.LeaderboardService.GetLeaderboardAsync("scores1", new LeaderboardQuery()); 

答えて

2

C#のXbox Creators Programでは、いくつかのAPIが移動されています。 Leaderboards APIは現在StatsManagerに含まれています。あなたはStatsManager.Singleton.GetLeaderboard(...)を使用してリーダーボードを取得することができます。

これはバックグラウンドでリクエストを開始し、完了するとStatsManager.Singleton.DoWork()を呼び出してイベントが返されます。 DoWorkメソッドは、すべてのフレーム(StatsManagerからイベントを通知する必要がある場合はいつでも)で呼び出すことを目的としています。これを行う方法の例については、Xbox Live Unity Plugin Leaderboards implementationをご覧ください。

+1

ありがとうございます。これは参考になります。今私は一般的なStatsManagerに問題があります。他のAPIの私の仕事、XBoxUser、SocialManagerなど...しかし、StatsManagerはStatsManager.Singleton.AddLocalUser(ユーザー)でクラッシュしています。統計を正しく設定していない可能性がありますか?このリンクによれば、まず自分の統計を設定しなければなりません。 https://developer.microsoft.com/en-us/games/xbox/docs/xboxlive/data-platform/player-stats/player-statsただし、ダッシュボードにはこのリンクがありません。私はサービスの下でXbox Liveのリンクのみを持っています。統計情報を作成するにはどうすればいいですか?これはクリエイタープログラムユーザーの制限ですか? – nbarkhina

+0

StatsManagerは正しく動作しているはずですが、別の質問がある場合は、この回答を最終としてマークし、表示される可能性のあるエラーの詳細を追加して新しい質問を送信できますか? –

+0

はありがとうございます。 – nbarkhina

関連する問題