API Usage Example
Create empty
GameObjectnamedDigitalObjectControllerin the scene, setGameObjecttag toDigitalObjectControllerand addAsylumDigitalObjectsController.csas its componentCreate new C# script(e.g.
ItemsController) and linkAsylumDigitalObjectsControllercomponent to it. You can do it via inspector, using public/serializable fields or FindObjectOfType method or with the help of dependency injection (like Zenject)Remember to set the user's wallet passphrase before start working with AsylumDigitalObjectsController. Simply initialize the property
AccountSecretPhrasewith a string with the secret phrase. You can set it from inspector in AsylumDigitalObjectsController component.//ItemsController.cs
void Start
{
AsylumDigitalObjectsController asylumClient = FindObjectOfType<AsylumDigitalObjectsController>();
}Get user items list in the
ItemsController. Simply subscribe on the eventOnUserItemsRecievedand callRequestAsylumUserItems// ItemsController.cs
AsylumDigitalObjectsController asylumClient;
void Start()
{
//Connect to the chain.
asylumClient.ConnectToChain();
// Subsribe on event
asylumClient.OnItemWasLoaded += OnItemLoaded;
//Send request
asylumClient.RequestAsylumUserItems();
// Manual call
List<AsylumItemAsyncHandler> items = asylumClient.ItemHandlers;
}
void OnItemLoaded(List<AsylumItemAsyncHandler> items)
{
...
}Get user info in the
ItemsController. Simply subscribe on the eventOnUserInfoRecievedand callingRequestAsylumUserInfo//ItemsController.cs
AsylumDigitalObjectsController asylumClient;
void Start()
{
//Connect to chain.
asylumClient.OnConnected();
// Subsribe on event
asylumClient.OnUserInfoRecieved += UserInfoRecieved;
//Send request
asylumClient.RequestAsylumUserInfo();
// Manual call
UserInfo userInfo = asylumClient.UserInfo;
}
void UserInfoRecieved(UserInfo info)
{
...
}Get user info in the
ItemsController. Simply subscribe on the eventOnItemWasLoadedand callingRequestMintAsylumItem//ItemsController.cs
AsylumDigitalObjectsController asylumClient;
void Start()
{
//Connect to chain.
asylumClient.OnConnected();
// Subsribe on event
asylumClient.OnItemWasLoaded += MintedItemsRecieved;
// Set blueprintId for minted item
int blueprintId = 0;
// Set metadata for the minted item
AsylumItemMetadata metadata = new AsylumItemMetadata("description of minted item","name of minted item");
//Send a request with 2 params
reactClientInstance.RequestMintAsylumItem(blueprintId,metadata);
}
void MintedItemsRecieved(List<AsylumItemAsyncHandler> mintedItems)
{
...
}