PlayFabのカスタム インベントリ インスタンス データとやらに触れただけ
今回はPlayFabのインベントリのデータが気になり少し見てみた。テストで
Rifleという名前のアイテムを作成し、インベントリに入れてみてから赤い〇のところをクリックしたら
こういうのが出てきた。
Unityのスクリプトで「キー」と「値」を変更出来ないかなーって思いカタカタ…と5分経過した結果
void Inventory()
{
PlayFabClientAPI.GetUserInventory(new PlayFab.ClientModels.GetUserInventoryRequest()
{
}, result =>
{
foreach(var inv in result.Inventory)
{
//Rifleという名前のItemIdだけ変更
if (inv.ItemId == "Rifle")
{
//アイテムのカスタムデータを変更する
PlayFabServerAPI.UpdateUserInventoryItemCustomData(new UpdateUserInventoryItemDataRequest()
{
PlayFabId = status.myPlayfabId,
ItemInstanceId = inv.ItemInstanceId,
Data = new Dictionary<string, string>
{
{"Damage",damage.ToString() },
{"Ammo", ammo.ToString()},
}
}, customResult =>
{
Debug.Log($"CustomResult");
}, customError =>
{
if (inv.DisplayName == "Rifle" && inv.CustomData == null)
{
Debug.Log($"{customError.GenerateErrorReport()}");
}
});
}
}
Debug.Log($"サーバーインベントリには{result.Inventory.Count}個入っています");
}, error =>
{
Debug.Log(error.GenerateErrorReport());
});
}
こんな感じでやってみた結果
青くなってて中身をのぞいたら
こうなってた。
何かに使えると思うから一応共有しとくね。
ちなみにコードに
using PlayFab.ServerModels;
って必要だった気がするから気を付けてね。