Piles
Economy v2 est désormais en disponibilité générale. Pour obtenir de l’aide et donner votre avis, rendez-vous sur le forum PlayFab.
Id peuvent être stockés sous forme de piles de l’objet, chacune avec sa propre quantité et différenciée par un StackId. Si rien n’est spécifié, les actions d’inventaire utilisent généralement la pile par défaut dont le StackId est : default La pile par défaut peut être supprimée. La prochaine fois qu’un ajout ou un transfert a lieu sans StackId (ou avec le StackId par défaut), la pile par défaut est recréée
Gestion des inventaires et des piles
Voici une présentation détaillée des API Inventory et de leurs interactions avec les piles.Ajouter des objets d’inventaire
Dans l’APIAddInventoryItems, vous pouvez définir un StackId dans le paramètre Item. Ce paramètre définit soit la pile dont la quantité est augmentée, soit l’ID de la nouvelle pile en cours de création.
Exemple de requête AddInventoryItems avec un StackId :
NewStack, soit ajoute 5 à la pile NewStack existante si elle existait déjà
Soustraire des objets d’inventaire
Dans l’APISubtractInventoryItems, le StackId sert à définir la pile de laquelle la quantité est soustraite. De plus, vous pouvez définir un booléen DeleteEmptyStacks qui supprime la pile si la soustraction ramène sa quantité à 0.
Tenter de soustraire d’une pile une quantité supérieure à sa quantité actuelle génère une erreur.
Exemple de requête SubtractInventoryItems avec un StackId :
NewStack et supprime la pile si sa quantité était exactement de 5.
Mettre à jour des objets d’inventaire
Dans l’APIUpdateInventoryItems, vous pouvez définir un StackId dans le paramètre Item. Ce paramètre définit soit la pile mise à jour, soit l’ID de la nouvelle pile en cours de création.
Exemple de requête UpdateInventoryItems :
NewStack, soit définit la quantité de NewStack sur 5 si elle existait déjà
Supprimer des objets d’inventaire
L’APIDeleteInventoryItems permet de supprimer une pile entière d’objets de l’inventaire d’un joueur. Un StackId peut être fourni pour définir la pile spécifique de l’objet à supprimer.
Exemple de requête DeleteInventoryItems :
Acheter des objets d’inventaire
L’APIPurchaseInventoryItems utilise le prix de l’objet défini dans le catalogue, déduit le coût de l’inventaire du joueur et l’échange contre la quantité souhaitée de l’objet. Vous devez spécifier l’Item que vous souhaitez acheter et la quantité (Amount) de l’objet que vous souhaitez acheter.
Lorsque vous effectuez des achats avec des piles, quelques paramètres sont pertinents :
- Pour
PriceAmounts, vous pouvez définir unStackIdfacultatif pour chaque objet de prix (c’est-à-dire les objets dépensés) afin de définir la pile de laquelle les objets dépensés seront déduits - Pour l’objet
Item, vous pouvez définir unStackIdfacultatif qui représente la pile dans laquelle les objets reçus seront placés - Vous pouvez définir un booléen
DeleteEmptyStacksqui supprime la pile si la soustraction ramène sa quantité à 0.
Pour plus de détails sur l’achat d’objets, consultez PurchaseInventoryItems.
PurchaseInventoryItems avec des piles :
Transférer des objets d’inventaire
Lorsque vous utilisez l’APITransferInventoryItems avec des piles, quelques paramètres sont pertinents :
- Dans l’objet
GivingItem, vous pouvez définir unStackIdfacultatif qui représente la pile de laquelle les objets donnés seront prélevés - Dans l’objet
ReceivingItem, vous pouvez définir unStackIdfacultatif qui représente la pile dans laquelle les objets reçus seront placés - Vous pouvez définir un booléen
DeleteEmptyStacksqui supprime la pile si la quantité deGivingItemramène la quantité de la pile à 0
TransferInventoryItems avec des piles :
API ExecuteInventoryOperations
Vous pouvez utiliser les paramètresStackId et DeleteEmptyStacks dans les objets Operation de l’API ExecuteInventoryOperations. Ces paramètres vous permettent de regrouper plusieurs opérations d’inventaire utilisant des piles.
Exemple de requête ExecuteInventoryOperations avec des piles :
Ajout de propriétés personnalisées avec DisplayProperties et NewStackValues
Vous pouvez définir des propriétés d’objet personnalisées sur les objets d’inventaire avec le paramètreDisplayProperties. La définition de propriétés peut se faire dans les API AddInventoryItems, PurchaseInventoryItems et TransferInventoryItems, mais uniquement lors de la création d’une nouvelle pile. Pour définir des propriétés d’affichage pour de nouveaux objets, le paramètre NewStackValues doit être défini dans la requête d’API.
Exemple de requête AddInventoryItems avec NewStackValues :
UpdateInventoryItems afin de modifier directement les propriétés.