InventoryService | class InventoryService(pragmaNode: PragmaNode, instanceId: UUID, uuidProxy: UUIDProxy = UUIDProxy(), content: InventoryServiceContent = InventoryServiceContent(), rewardsEngine: RewardsEngine = RewardsEngine(content), ledgerBuilder: LedgerBuilder = LedgerBuilder(content, uuidProxy, rewardsEngine), inventoryFilter: InventoryFilter = InventoryFilter(content), playerNotifier: PlayerNotifier = PlayerNotifier(pragmaNode), playerInventoryProxy: PlayerInventoryProxy = PlayerInventoryProxyImpl(ledgerBuilder, inventoryFilter, playerNotifier), fulfillment: Fulfillment = Fulfillment(playerInventoryProxy, LedgerOperationsFactory(content)), purchaseConstraintsFactory: PurchaseConstraintsFactory = PurchaseConstraintsFactory(content), storeEntryPurchaser: StoreEntryPurchaser = StoreEntryPurchaser(purchaseConstraintsFactory, content), purchaseCommand: StorePurchaseCommand = StorePurchaseCommand(playerInventoryProxy, storeEntryPurchaser), stores: Stores = Stores(content, playerInventoryProxy, storeEntryPurchaser), craftCommand: CraftCommand = CraftCommand(playerInventoryProxy, content, purchaseConstraintsFactory), updateCommand: UpdateCommand = UpdateCommand(playerInventoryProxy), grantRewardsCommand: GrantRewardsCommand = GrantRewardsCommand(playerInventoryProxy), matchEndCommand: InventoryMatchEndCommand = InventoryMatchEndCommand(pragmaNode, playerInventoryProxy), grantCommand: GrantCommand = GrantCommand(playerInventoryProxy), grantCommandBulk: GrantCommandBulk = GrantCommandBulk(), destroyCommand: DestroyCommand = DestroyCommand(playerInventoryProxy), limitedGrantCommand: LimitedGrantCommand = LimitedGrantCommand(content, playerInventoryProxy), loginDataCommand: LoginDataCommand = LoginDataCommand(
content,
playerInventoryProxy,
stores,
limitedGrantCommand
), applyContentCommand: ApplyContentChangesCommand = applyCommandFactory(pragmaNode), updateContentCommand: UpdateContentCommand = UpdateContentCommand(), planContentCommand: PlanContentChangesCommand = PlanContentChangesCommand(), contentVersionCountsCommand: ContentVersionCountsCommand = ContentVersionCountsCommand(), socialPaymentServiceClient: SocialPaymentServiceClient = SocialPaymentServiceClient(pragmaNode), applyInventoryOperationsCommand: ApplyInventoryOperationsCommand = ApplyInventoryOperationsCommand(playerInventoryProxy), itemBundleGrantCommand: ItemBundleGrantCommand = ItemBundleGrantCommand(fulfillment), getContentSourceCommand: GetContentSourceCommand = GetContentSourceCommand(), socialAccountServiceClient: SocialAccountServiceClient = SocialAccountServiceClient(), entitlementsCommand: EntitlementsCommand = EntitlementsCommand(fulfillment), inventoryCache: InventoryCache = InventoryCache()) : DistributedService, ConfigHandler<InventoryServiceConfig>
InventoryService is responsible for interactions with Player Inventory, management of Instanced and Stackable items, reward and content grants, and store purchasing. |