game-common / pragma.inventory / InstancedItemPlugin / newInstanced /
newInstanced #
abstract suspend fun newInstanced(instancedSpec: InventoryContent.InstancedSpec, inventoryContent: InventoryServiceContent, startingInventory: InventoryData, pendingInventory: InventoryData, clientRequestExt: ExtPurchaseRequest?, serverRequestExt: ExtInstancedItemServerGrant?): InstancedItemPlugin.InstancedItemPluginResult
When granting a new Instanced Item, the newInstanced function will allow you to interact with the ext data that will be saved within each item. newInstance is called with either a valid client sourced ext or a valid server sourced ext. The other ext will be null. ExtPurchaseRequest might contain untrusted or unverified information, since it might come directly from the client. ExtInstancedItemServerGrant contains information only provided by other internal flows such as crafting.
Used By
- InventoryService.matchEndV4
- InventoryService.storePurchaseV4
- InventoryService.serviceGrantRewardsV2
- InventoryService.operatorGrantRewardsV0
- InventoryService.grantItemsServiceV1
- InventoryService.grantItemsOperatorV1
- InventoryService.craftV1 - If craft results in new instanced items.
- InventoryService.getLoginDataV2 - When limited grants are awarded.
- InventoryService.simulateRewardsV2 - If simulated reward is a new instance item.
- InventoryService.applyInventoryOperationsOperatorV1
- InventoryService.applyInventoryOperationsPartnerV1
- InventoryService.applyInventoryOperationsServiceV1
Return #
The Ext data to be added within each instanced item grant.
Parameters #
instancedSpec | The Instanced Spec definition from the catalog. |
inventoryContent | InventoryServiceContent object used to reference all the content specs. |
startingInventory | InventoryData - object that contains all the player’s instanced and stackable items. |
pendingInventory | InventoryData - object that contains the current in-flight representation of a player’s instanced and stackable items. |
clientRequestExt | Ext data passed from the client to be used when creating the InstancedItemGrant. |
serverRequestExt | Ext data passed from the server to be used when creating the InstancedItemGrant. |