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. |