スタック
Economy v2 が一般提供 (GA) されました。サポートとフィードバックについては、PlayFab フォーラム を参照してください。
Id を持つアイテムは、それぞれ独自の数量を持ち、StackId で区別されるアイテムのスタックとして格納できます。指定されない場合、インベントリ アクションは通常、StackId が default のデフォルト スタックを使用します。デフォルト スタックは削除できます。次に StackId なし (またはデフォルトの StackId を使用) の追加/転送が発生すると、デフォルト スタックが再作成されます。
インベントリとスタックの管理
以下は Inventory API と、スタックとの相互作用に関する詳細な解説です。Add Inventory Items
AddInventoryItems API では、Item パラメーターで StackId を定義できます。このパラメーターは、増加させるスタック、または作成される新しいスタックの ID を定義します。
StackId を含む AddInventoryItems リクエストの例:
NewStack のアイテムの新しいスタックを作成するか、NewStack がすでに存在する場合は既存のスタックに 5 を追加します。
Subtract Inventory Items
SubtractInventoryItems API では、StackId を使用して減算元のスタックを定義します。さらに、減算した結果スタックの数量が 0 になった場合にスタックを削除する DeleteEmptyStacks ブール値を設定できます。
現在のスタック数量よりも多く減算しようとすると、エラーが発生します。
StackId を含む SubtractInventoryItems リクエストの例:
NewStack のスタックから 5 を減算し、スタックの数量が正確に 5 であればスタックを削除します。
Update Inventory Items
UpdateInventoryItems API では、Item パラメーターで StackId を定義できます。このパラメーターは、更新するスタック、または作成される新しいスタックの ID を定義します。
UpdateInventoryItems リクエストの例:
NewStack のアイテムの新しいスタックを作成するか、NewStack がすでに存在する場合はその数量を 5 に設定します。
Delete Inventory Items
DeleteInventoryItems API は、プレイヤーのインベントリからアイテムのスタック全体を削除するために使用されます。削除するアイテムの特定のスタックを定義するために StackId を指定できます。
DeleteInventoryItems リクエストの例:
Purchase Inventory Items
PurchaseInventoryItems API は、カタログで定義されたアイテムの価格を使用し、プレイヤーのインベントリからコストを差し引いて、希望する数量のアイテムと交換します。購入したい Item と、購入したい Amount を指定する必要があります。
スタックを使用して購入する場合、関連するいくつかのパラメーターがあります。
PriceAmountsでは、各価格アイテム (つまり支払われるアイテム) にオプションのStackIdを定義して、支払われるアイテムがどのスタックから差し引かれるかを定義できますItemオブジェクトでは、受け取るアイテムが配置されるスタックを表すオプションのStackIdを定義できます- 減算した結果スタックの数量が 0 になった場合にスタックを削除する
DeleteEmptyStacksブール値を設定できます。
アイテムの購入に関する詳細については、PurchaseInventoryItems を参照してください。
PurchaseInventoryItems リクエストの例:
Transfer Inventory Items
スタックを使用してTransferInventoryItems API を使用する場合、関連するいくつかのパラメーターがあります。
GivingItemオブジェクトでは、渡すアイテムが取り出されるスタックを表すオプションのStackIdを定義できますReceivingItemオブジェクトでは、受け取るアイテムが配置されるスタックを表すオプションのStackIdを定義できますGivingItemの数量によりスタックの数量が 0 になった場合にスタックを削除するDeleteEmptyStacksブール値を設定できます
TransferInventoryItems リクエストの例:
ExecuteInventoryOperations API
ExecuteInventoryOperations API の Operation オブジェクトで StackId と DeleteEmptyStacks パラメーターを使用できます。これらのパラメーターを使用すると、スタックを使用した複数のインベントリ操作をバッチ処理できます。
スタックを使用した ExecuteInventoryOperations リクエストの例:
DisplayProperties と NewStackValues でカスタム プロパティを追加する
DisplayProperties パラメーターを使用して、インベントリ アイテムにカスタム アイテム プロパティを設定できます。プロパティの設定は AddInventoryItems、PurchaseInventoryItems、TransferInventoryItems API で行えますが、新しいスタックが作成される場合にのみ 可能です。新しいアイテムの表示プロパティを設定するには、API リクエストで NewStackValues パラメーターを設定する必要があります。
NewStackValues を含む AddInventoryItems リクエストの例:
UpdateInventoryItems API を使用してプロパティを直接変更できます。