UserDataService
Here you will find Methods, Classes, etc. for working with iDos Games SDK code.
Method or Class – Green
Event – Yellow
Field (variable) – Orange
Important – Red
All actions and storage of additional data are controlled by this class.
- Subscribe to an event
*You should subscribe to events in “OnEnable” and unsubscribe in “OnDisable” methods.
UserDataService.DataRequested += OnAllDataRequested;
UserDataService.DataUpdated += OnAllDataUpdated;
DataRequested – all data requested (UserInventory, TitleData, UserReadOnlyData, SkinCatalogItems).
DataUpdated – all data is ready to use.
AllDataRequestError – error while requesting all data.
TitleDataReceived – data “TitleData” received.
TitleDataUpdated – “TitleData” data is ready to be used.
UserReadOnlyDataReceived – “UserReadOnlyData” data received.
UserReadOnlyDataUpdated – “UserReadOnlyData” data is ready to be used.
SkinCatalogReceived – skin catalog data received.
SkinCatalogUpdated – skin catalog data is ready to use.
UserInventoryReceived – User inventory data received. Further, the data is processed in the “UserInventory” class.
SavedGameplayDataUpdated – Additional gameplay data has been updated.
- Skin Data
List<SkinCatalogItem> skinCatalog = new(UserDataService.AllSkinsInCatalog);
List<BigInteger> nftIDs = new(UserDataService.NFTIDs);
List<string> equippedSkins = new(UserDataService.EquippedSkins);
*Arrays are assigned via the new(. . .) operator, because arrays are “IReadOnlyList”.
AllSkinsInCatalog (List<SkinCatalogItem>) – an array with information about all skins in the catalog.
NFTIDs (List<BigInteger>) – array with information about all NFT identifiers.
EquippedSkins (List<string>) – array with identifiers of all skins equipped by the player.
- Methods
UserDataService.RequestAllData();
UserDataService.RequestUserInventory();
UserDataService.GetTitleData("wallet");
or
UserDataService.GetTitleData(TitleDataKey.wallet);
UserDataService.GetUserReadOnlyData(UserReadOnlyDataKey.saved_gameplay_data);
or
UserDataService.GetUserReadOnlyData("saved_gameplay_data");
RequestAllData – get all data at once. (UserInventory, TitleData, UserReadOnlyData, SkinCatalogItems) Below is an example to get all the data.
RequestUserInventory – request the player’s inventory.
RequestTitleData – request “TitleData” of the project.
RequestUserReadOnlyData – request “UserReadOnlyData” of the user.
RequestSkinCatalogItems – request a catalog of project skins.
GetTitleData – You can get “TitleData” via string or enum both above.
GetUserReadOnlyData – You can get “UserReadOnlyData” via string or enum.
GetSkinItem – returns a “SkinCatalogItem” instance that contains all the necessary information about the skin from the catalog by ID.
IsSkinEquipped – returns whether the skin is equipped or not by ID.
GetSkinRarityByCollection – returns an enum of skin rarity by collection.
GetSkinProfitByCollection – returns skin profit by collection.
UpdateEquippedSkins – update equipped skins by passing an array of identifiers.
UpdateCustomReadOnlyData – update game play data by passing json string.
ValidateVIPSubscription – allows you to verify your VIP subscription. If you do not pass a receipt in the argument, then the database will look for the user’s last subscription and verify it.
*On the stage, as indicated in the demo scene, there must be an “InitialDataLoader” script, it loads all the necessary data in the “Start” method.