質問: naichilabさんで提供されているunity ランキング機能に関して 複数ランキングの利用方法 unity初心者です。 こちらのHP を参照し、指示通りに設定し、単独での使用は問題ありませんでした。 また、複数ランキング使用の説明通り↓ //1つ目のランキングを呼び出す場合 naichilab.RankingLoader.Instance.SendScoreAndShowRanking (100, 0); //2つ目のランキングを呼び出す場合 naichilab.RankingLoader.Instance.SendScoreAndShowRanking (100, 1); こちらも各々の使用は問題ありませんでした。 困っているのは、この2つを1つのメソッド内で使用する時、上記の通り連続で呼び出すと2つ目しか表示されず、また、×を押しても閉じない状態になる事です。 consoleログにはエラーは出ていませんでした。×は押せない状態でもハイスコア時は問題なくデータ送信は行なえました。 やりたい形は 1つ目のランキングを表示、×を押せば2つ目のランキングが表示される。 呼び出し側だけの処理でなんとか出来るものなのか、unity-simple-rankingのスクリプトを変更しないといけないものでしょうか? ご教授戴けると助かります。
回答: こんにちは、そのアセットの作者です。 ご利用ありがとうございます。 結論から申しますと1つずつ呼び出すことを想定して作ってありますので、 そのように2つ連続で呼び出して表示は順番に行うということはできないです。 もし実現できたとしてもユーザー視点で考えてみると、「閉じたはずのランキングがまた表示される(実際は別々のランキングだとしても。)」という挙動は混乱を招くのであまり歓迎されないかもしれません。 可能でしたら「ランキングA」「ランキングB」のような独立したボタンを用意し、ユーザーが選択した1つのランキングのみ表示するように変更されるのがよいかと思いました。(両方見たい人は閉じた後にもう片方も押してくれるはず) どうしても2連続で表示したい場合は以下の変更が必要ですが、ある程度のUnityとC#の知識が必要です。(unity-simple-rankingのスクリプトに手を加える必要があります) 1. SendScoreAndShowRankingを非同期メソッドに変えて、呼び出し側にてランキングが閉じられたことを検知できるようにする。(またはコールバックメソッドの追加など) 2. 上記非同期メソッドを使い、「ランキング1呼び出し -> **閉じられたら**ランキング2呼び出し」というような呼び出し方に書き換える。