学期末の成績処理も終わり、時間ができたのでこの冬休み中のゲームの完成を目指してコーディングしています。
これまでいくつか、PlayFabについて記事を書いています。PlayFabとは、ハイスコアランキングなどの機能をゲームに実装するのに役立つ仕組みです。マイクロソフトが用意しています。
PlayFabへスコアを送り、PlayFab側はそれを処理して例えば上位20データを管理してくれます。スコアを送ったり、受け取ったランキングのデータを整形して表にするなどはプログラマの仕事です。ゲームは、開始時にPlayFabにログインします。そうしておかないとスコアを送信しても受け取ってくれませんし、ランキングのデータももらえません。ここで、今まで気にならなかったのですが、プログラムの流れによっては2重にログインすることがあることに気づきました。ネットを検索するとそれがもとで不都合が起こることもあるらしい……。↓
サイトにはその不都合を回避する方法も書いてあるんですが、どうもよく分かりません。そこで、ログイン状態なのかどうか、確認する方法はないのかと調べたら見つかりました。
PlayFabClientAPI.IsClientLoggedIn()
でログイン中かどうか分かります。データの送信前などにこれを実行すればよいと思います。実際、ログインを忘れてスコアを送ったりするとエラーでアプリケーションが止まってしまいますが、そういうことがなくなりました。
充実した年末年始にします!