Beamable SDK
Public Member Functions | Properties | List of all members
Beamable.Api.Inventory.InventoryService Class Reference

This type defines the Client main entry point for the Inventory feature. More...

Inheritance diagram for Beamable.Api.Inventory.InventoryService:
Inheritance graph
[legend]
Collaboration diagram for Beamable.Api.Inventory.InventoryService:
Collaboration graph
[legend]

Public Member Functions

 InventoryService (IDependencyProvider provider)
 
 InventoryService (IPlatformService platform, IBeamableRequester requester, IDependencyProvider provider)
 
override Promise< InventoryViewGetCurrent (string scope="")
 Get the current data from the given scope. More...
 
- Public Member Functions inherited from Beamable.Common.Api.Inventory.AbsInventoryApi
 AbsInventoryApi (IBeamableRequester requester, IUserContext userContext)
 
Promise< PreviewCurrencyGainResponsePreviewCurrencyGain (Dictionary< string, long > currencyIdsToAmount)
 Players may sometimes receive additional currency as a result of qualifying for a VIP Tier This API previews what that amount of currency would be ahead of an update. More...
 
Promise< GetMultipliersResponseGetMultipliers ()
 Provides the VIP Bonus multipliers that are applicable for this player according to their tier. More...
 
Promise< long > GetCurrency (CurrencyRef currency)
 Gets the currency. More...
 
Promise< UnitAddItem (ItemRef itemRef, Dictionary< string, string > properties=null, string transaction=null)
 Add an instance of the given itemRef to the player's inventory. If you need to make multiple inventory updates, use the Update(System.Action<Beamable.Common.Api.Inventory.InventoryUpdateBuilder>,string) method. More...
 
Promise< UnitAddItem (string contentId, Dictionary< string, string > properties=null, string transaction=null)
 Add an item instance of the given contentId to the player's inventory. If you need to make multiple inventory updates, use the Update(System.Action<Beamable.Common.Api.Inventory.InventoryUpdateBuilder>,string) method. More...
 
Promise< UnitDeleteItem (string contentId, long itemId, string transaction=null)
 Remove an item instance from the player's inventory. If you need to make multiple inventory updates, use the Update(System.Action<Beamable.Common.Api.Inventory.InventoryUpdateBuilder>,string) method. More...
 
Promise< UnitUpdateItem (ItemRef itemRef, long itemId, Dictionary< string, string > properties, string transaction=null)
 Update the instance level item properties of an item in the player's inventory. If you need to make multiple inventory updates, use the Update(System.Action<Beamable.Common.Api.Inventory.InventoryUpdateBuilder>,string) method. More...
 
Promise< UnitUpdateItem (string contentId, long itemId, Dictionary< string, string > properties, string transaction=null)
 Update the instance level item properties of an item in the player's inventory. If you need to make multiple inventory updates, use the Update(System.Action<Beamable.Common.Api.Inventory.InventoryUpdateBuilder>,string) method. More...
 
Promise< UnitSetCurrency (CurrencyRef currency, long amount, string transaction=null)
 Sets the currency. If you need to make multiple inventory updates, use the Update(System.Action<Beamable.Common.Api.Inventory.InventoryUpdateBuilder>,string) method. More...
 
Promise< UnitSetCurrencyProperties (string currencyId, List< CurrencyProperty > properties, string transaction=null)
 Set the CurrencyProperty values for a player's currency More...
 
Promise< UnitSetCurrencyProperties (CurrencyRef currency, List< CurrencyProperty > properties, string transaction=null)
 Set the CurrencyProperty values for a player's currency More...
 
Promise< UnitAddCurrency (string currencyId, long amount, string transaction=null)
 Adds the currency If you need to make multiple inventory updates, use the Update(System.Action<Beamable.Common.Api.Inventory.InventoryUpdateBuilder>,string) method. More...
 
Promise< UnitAddCurrency (CurrencyRef currency, long amount, string transaction=null)
 Adds the currency If you need to make multiple inventory updates, use the Update(System.Action<Beamable.Common.Api.Inventory.InventoryUpdateBuilder>,string) method. More...
 
Promise< UnitSetCurrencies (Dictionary< CurrencyRef, long > currencyToAmount, string transaction=null)
 Set multiple currency values. If you need to make multiple inventory updates, use the Update(System.Action<Beamable.Common.Api.Inventory.InventoryUpdateBuilder>,string) method. More...
 
Promise< UnitAddCurrencies (Dictionary< string, long > currencyIdsToAmount, string transaction=null)
 Add multiple currency values. If you need to make multiple inventory updates, use the Update(System.Action<Beamable.Common.Api.Inventory.InventoryUpdateBuilder>,string) method. More...
 
Promise< UnitAddCurrencies (Dictionary< CurrencyRef, long > currencyToAmount, string transaction=null)
 Add multiple currency values. If you need to make multiple inventory updates, use the Update(System.Action<Beamable.Common.Api.Inventory.InventoryUpdateBuilder>,string) method. More...
 
Promise< UnitSetCurrency (string currencyId, long amount, string transaction=null)
 Sets the currency. If you need to make multiple inventory updates, use the Update(System.Action<Beamable.Common.Api.Inventory.InventoryUpdateBuilder>,string) method. More...
 
Promise< UnitSetCurrencies (Dictionary< string, long > currencyIdsToAmount, string transaction=null)
 Set multiple currency values. If you need to make multiple inventory updates, use the Update(System.Action<Beamable.Common.Api.Inventory.InventoryUpdateBuilder>,string) method. More...
 
Promise< Dictionary< string, long > > GetCurrencies (string[] currencyIds)
 Get a set of currency values for the current player. More...
 
Promise< Dictionary< CurrencyRef, long > > GetCurrencies (CurrencyRef[] currencyRefs)
 Get a set of currency values for the current player. More...
 
Promise< long > GetCurrency (string currencyId)
 Gets the currency. More...
 
Promise< UnitUpdate (Action< InventoryUpdateBuilder > action, string transaction=null)
 
Promise< UnitUpdate (InventoryUpdateBuilder builder, string transaction=null)
 Perform multiple updates to the player's inventory in one network call. The InventoryUpdateBuilder that you pass to this method will be converted into one update call to Beamable. More...
 
Promise< List< InventoryObject< TContent > > > ViewToItems< TContent > (InventoryView view, IEnumerable< string > filter=null)
 
Promise< List< InventoryObject< TContent > > > GetItems< TContent > ()
 Get every InventoryObject<TContent> that is of a specific item content type. More...
 
Promise< List< InventoryObject< TContent > > > GetItems< TContent > (params ItemRef< TContent >[] itemReferences)
 Get the InventoryObject<TContent> that are of a specific item content type and match the given itemReferences More...
 
void GetLatestItems (ItemRef itemRef)
 
- Public Member Functions inherited from Beamable.Common.Api.ISupportsGet< InventoryView >
Promise< TData > GetCurrent (string scope="")
 Manually fetch the available data. If the server hasn't delivered a new update, this method will not return the absolute latest data unless you pass forceRefresh as true. More...
 

Properties

InventorySubscription Subscribable [get]
 
- Properties inherited from Beamable.Common.Api.Inventory.AbsInventoryApi
IBeamableRequester Requester [get]
 
IUserContext UserContext [get]
 
- Properties inherited from Beamable.Api.IHasPlatformSubscriber< InventorySubscription, InventoryResponse, InventoryView >
TPlatformSubscriber Subscribable [get]
 Allows scopes to consume fresh data when available.
 

Additional Inherited Members

- Static Public Attributes inherited from Beamable.Common.Api.Inventory.AbsInventoryApi
const string SERVICE_OBJECT = "object/inventory"
 
- Protected Member Functions inherited from Beamable.Common.Api.Inventory.AbsInventoryApi
string CreateRefreshUrl (string scope)
 

Detailed Description

This type defines the Client main entry point for the Inventory feature.

Related Links

Example

This demonstrates example usage.

private async void SetupBeamable()
{
var beamableAPI = await Beamable.API.Instance;
beamableAPI.InventoryService.Subscribe("items", view =>
{
foreach (KeyValuePair<string, List<ItemView>> kvp in view.items)
{
string inventoryItemName = $"{kvp.Key} x {kvp.Value.Count}"; // "Big Sword x 1"
}
});
}
This is the legacy way to access Beamable. It will still work, and internally maps to the new way....
Definition: API.cs:239
static Promise< IBeamableAPI > Instance
This is deprecated. Please use BeamContext.Default
Definition: API.cs:246
Definition: AssemblyDefinitionHelper.cs:15

img beamable-logo

Member Function Documentation

◆ GetCurrent()

override Promise< InventoryView > Beamable.Api.Inventory.InventoryService.GetCurrent ( string  scope = "")
virtual

Get the current data from the given scope.

Parameters
scope
Returns

Implements Beamable.Common.Api.Inventory.AbsInventoryApi.


The documentation for this class was generated from the following file: