Pilhas
O Economy v2 agora está em disponibilidade geral. Para obter suporte e enviar comentários, acesse o Fórum do PlayFab.
Id podem ser armazenados como pilhas do item, cada uma com sua própria quantidade e diferenciada por StackId. Se não for especificado, as ações de inventário normalmente usarão a pilha padrão com o StackId: default A pilha padrão pode ser excluída. Na próxima vez que ocorrer uma adição/transferência sem um StackId (ou usando o StackId padrão), a pilha padrão será recriada
Gerenciando inventários e pilhas
A seguir, há um detalhamento das APIs de Inventory e de suas interações com as pilhas.Adicionar itens de inventário
Na APIAddInventoryItems, você pode definir um StackId no parâmetro Item. Esse parâmetro define a pilha que está sendo aumentada ou a ID da nova pilha que está sendo criada.
Um exemplo de solicitação AddInventoryItems com um StackId:
NewStack ou adicionaria 5 à NewStack existente, caso ela já existisse
Subtrair itens de inventário
Na APISubtractInventoryItems, o StackId é usado para definir de qual pilha a quantidade será subtraída. Além disso, há um booliano DeleteEmptyStacks que pode ser definido para excluir a pilha caso a quantidade subtraída deixe a pilha com quantidade 0.
Tentar subtrair de uma pilha mais do que a quantidade atual da pilha gerará um erro.
Um exemplo de solicitação SubtractInventoryItems com StackId:
NewStack e excluiria a pilha se ela tivesse exatamente a quantidade 5.
Atualizar itens de inventário
Na APIUpdateInventoryItems, você pode definir um StackId no parâmetro Item. Esse parâmetro define a pilha que está sendo atualizada ou a ID da nova pilha que está sendo criada.
Um exemplo de solicitação UpdateInventoryItems:
NewStack ou definiria a quantidade de NewStack como 5, caso ela já existisse
Excluir itens de inventário
A APIDeleteInventoryItems é usada para excluir uma pilha inteira de itens do inventário de um jogador. Um StackId pode ser fornecido para definir a pilha específica do item a ser excluída.
Um exemplo de solicitação DeleteInventoryItems:
Comprar itens de inventário
A APIPurchaseInventoryItems usa o preço do item definido no catálogo, deduz o custo do inventário do jogador e o troca pela quantidade desejada do item. Você deve especificar o Item que deseja comprar e a Amount do item que deseja comprar.
Ao fazer compras com pilhas, há alguns parâmetros relevantes:
- Em
PriceAmounts, você pode definir umStackIdopcional para cada item de preço (ou seja, os itens que estão sendo gastos) para definir de qual pilha os itens gastos serão deduzidos - No objeto
Item, você pode definir umStackIdopcional que representa a pilha na qual os itens recebidos serão colocados - Há um booliano
DeleteEmptyStacksque pode ser definido para excluir a pilha caso a quantidade subtraída deixe a pilha com quantidade 0.
Para obter mais detalhes sobre como comprar itens, consulte PurchaseInventoryItems.
PurchaseInventoryItems com pilhas:
Transferir itens de inventário
Ao usar a APITransferInventoryItems com pilhas, há alguns parâmetros relevantes:
- No objeto
GivingItem, você pode definir umStackIdopcional que representa a pilha da qual os itens fornecidos serão retirados - No objeto
ReceivingItem, você pode definir umStackIdopcional que representa a pilha na qual os itens recebidos serão colocados - Há um booliano
DeleteEmptyStacksque pode ser definido para excluir a pilha caso a quantidade deGivingItemdeixe a pilha com quantidade 0
TransferInventoryItems com pilhas:
API ExecuteInventoryOperations
Você pode usar os parâmetrosStackId e DeleteEmptyStacks nos objetos Operation da API ExecuteInventoryOperations. Esses parâmetros permitem agrupar várias operações de inventário usando pilhas.
Um exemplo de solicitação ExecuteInventoryOperations com pilhas:
Adicionando propriedades personalizadas com DisplayProperties e NewStackValues
Você pode definir propriedades de item personalizadas para itens de inventário com o parâmetroDisplayProperties. A definição de propriedades pode ser feita nas APIs AddInventoryItems, PurchaseInventoryItems e TransferInventoryItems, mas somente quando uma nova pilha é criada. Para definir Propriedades de exibição para novos itens, o parâmetro NewStackValues deve ser definido na solicitação de API.
Um exemplo de solicitação AddInventoryItems com NewStackValues:
UpdateInventoryItems pode ser usada para modificar as propriedades diretamente.