【ハルシオンブログ】Unity+Playfabのお話。今回はプレイヤーデータの保存と読み込みについてです。
こんにちは。坂内です。
お盆休みも終わり、仕事再開となりますね。
コロナの影響もあって、今年のお盆休みは家から1歩も出ず・・・・さみしい連休となりました。
話しは変わってUnityのお話。
今回もUnity+Playfabのネタになります。
今までPlayfabの紹介をしたり。
【ハルシオンブログ】みなさんPlayfabって知ってますか?MicrosoftのBaaSなんですが、安くて使いやすいのでお勧め!
タイトルデータを持ってきたり。
【ハルシオンブログ】Unity+Playfabでのタイトルデータの取得方法。
ファイル管理のデータをもってきたり。
【ハルシオンブログ】Unity+Playfab Playfabサーバに置いた絵のファイルをアプリ起動時に持ってくるよぅ(ファイル管理の使い方一例)
ランキングを使ってみたり。
【ハルシオンブログ】京都に1泊遊びにいってきたよ。Playfabを使ったランキング(前編)
【ハルシオンブログ】京都に1泊遊びにいってきたよ。Playfabを使ったランキング(後編)
してきましたが、各ユーザのデータの保存などについては書いてきてなかったぽいので、軽く紹介。
タイトルデータは、Playfabのサーバに置いておくマスタデータみたいな感じでした、ではユーザの情報(名前とか点数とか)はどうやってるの?って話になります。
あ、ユーザのことは"プレイヤー"と呼んでますね。
【プレイヤーデータの保存】
次に、プレイヤーデータの読み込み方法。
【プレイヤーデータの読み込み】
こんな感じでプレイヤーデータの保存、読み込みができます。
これでユーザ毎に点数やら経験値やら色々保存できます!
※一つ問題があります。
プレイヤーデータの読み込みはいいのですが、保存の際にまとめて保存できる件数に制限があります。
この件数とはどこのことを言っているのかというと、以下のコードの場所です
という感じで、一回で登録(更新)できる項目の数に制限があるようです。
基本的な無料のプランだと10件までのようです。
件数の確認は
タイトルに入る>歯車マーク>タイトルの設定>画面上部のタブの「制限」>データストレージ>要求あたりのプレイヤーデータ更新
に書いてるやつなのかな?
ということで、ここの1回で登録できる件数に注意くださいませ。
色々とPlayfabは使えるので使ってみてね。
そんな感じで本日のブログを〆ます。
あでゅ~ノシ
お盆休みも終わり、仕事再開となりますね。
コロナの影響もあって、今年のお盆休みは家から1歩も出ず・・・・さみしい連休となりました。
話しは変わってUnityのお話。
今回もUnity+Playfabのネタになります。
今までPlayfabの紹介をしたり。
【ハルシオンブログ】みなさんPlayfabって知ってますか?MicrosoftのBaaSなんですが、安くて使いやすいのでお勧め!
タイトルデータを持ってきたり。
【ハルシオンブログ】Unity+Playfabでのタイトルデータの取得方法。
ファイル管理のデータをもってきたり。
【ハルシオンブログ】Unity+Playfab Playfabサーバに置いた絵のファイルをアプリ起動時に持ってくるよぅ(ファイル管理の使い方一例)
ランキングを使ってみたり。
【ハルシオンブログ】京都に1泊遊びにいってきたよ。Playfabを使ったランキング(前編)
【ハルシオンブログ】京都に1泊遊びにいってきたよ。Playfabを使ったランキング(後編)
してきましたが、各ユーザのデータの保存などについては書いてきてなかったぽいので、軽く紹介。
タイトルデータは、Playfabのサーバに置いておくマスタデータみたいな感じでした、ではユーザの情報(名前とか点数とか)はどうやってるの?って話になります。
あ、ユーザのことは"プレイヤー"と呼んでますね。
【プレイヤーデータの保存】
public IEnumerator UpdateUserData() {
bool isWait = true;
UpdateUserDataRequest request = new UpdateUserDataRequest() {
Data = new Dictionary {
{"userName", 名前},
{"playerId", プレイヤーのID},
{"lv", レベル},
{"exp", 経験値}
}
};
PlayFabClientAPI.UpdateUserData(request, OnSuccess, OnError);
while(isWait) {
yield return null;
}
void OnSuccess(UpdateUserDataResult result) {
Debug.Log("UpdateUserData:OnSuccess");
isWait = false;
}
void OnError(PlayFabError error) {
Debug.Log("UpdateUserData:OnError");
Debug.Log(error.GenerateErrorReport());
isWait = false;
}
}
次に、プレイヤーデータの読み込み方法。
【プレイヤーデータの読み込み】
public IEnumerator GetUserData() {
bool isWait = true;
GetUserDataRequest request = new GetUserDataRequest();
PlayFabClientAPI.GetUserData(request, OnSuccess, OnError);
while(isWait) {
yield return null;
}
void OnSuccess(GetUserDataResult result) {
ユーザ名 = GetPlayfabUserDataString(result, "userName");
プレイヤーID = GetPlayfabUserDataInt(result, "playerId");
レベル = GetPlayfabUserDataInt(result, "lv");
経験値 = GetPlayfabUserDataInt(result, "exp");
isWait = false;
}
void OnError(PlayFabError error) {
Debug.Log(error.GenerateErrorReport());
isWait = false;
}
}
public string GetPlayfabUserDataString(GetUserDataResult result, string key) {
if(result.Data.ContainsKey(key)) {
if(result.Data[key].Value != null) {
return result.Data[key].Value;
} else {
return "";
}
} else {
return "";
}
}
public int GetPlayfabUserDataInt(GetUserDataResult result, string key) {
if(result.Data.ContainsKey(key)) {
return int.Parse(result.Data[key].Value);
} else {
return 0;
}
}
こんな感じでプレイヤーデータの保存、読み込みができます。
これでユーザ毎に点数やら経験値やら色々保存できます!
※一つ問題があります。
プレイヤーデータの読み込みはいいのですが、保存の際にまとめて保存できる件数に制限があります。
この件数とはどこのことを言っているのかというと、以下のコードの場所です
public IEnumerator GetUserData() {
bool isWait = true;
GetUserDataRequest request = new GetUserDataRequest();
PlayFabClientAPI.GetUserData(request, OnSuccess, OnError);
while(isWait) {
yield return null;
}
void OnSuccess(GetUserDataResult result) {
ユーザ名 = GetPlayfabUserDataString(result, "userName"); // ①
プレイヤーID = GetPlayfabUserDataInt(result, "playerId"); // ②
レベル = GetPlayfabUserDataInt(result, "lv"); // ③
経験値 = GetPlayfabUserDataInt(result, "exp"); // ④
・ // ⑤
・ // ⑥
・
isWait = false;
}
void OnError(PlayFabError error) {
Debug.Log(error.GenerateErrorReport());
isWait = false;
}
}
という感じで、一回で登録(更新)できる項目の数に制限があるようです。
基本的な無料のプランだと10件までのようです。
件数の確認は
タイトルに入る>歯車マーク>タイトルの設定>画面上部のタブの「制限」>データストレージ>要求あたりのプレイヤーデータ更新
に書いてるやつなのかな?
ということで、ここの1回で登録できる件数に注意くださいませ。
色々とPlayfabは使えるので使ってみてね。
そんな感じで本日のブログを〆ます。
あでゅ~ノシ
Category: 開発日記(Unity)
| h o m e |