ReactClient
Actions, methodes and properties:
SendUserItemsRequest- send user item request to chain. Subscribe to the eventOnUserItemsRecievedto get the itemsSendUserInfoRequest- send user info request to chain. Subscribe to the eventOnUserInfoRecievedto get the infoSendSpaceMetadataRequest- send space metadata request to chain. Subscribe to the eventOnSpaceMetadataRecievedto get the metadataSendMintItemRequest- send minting item request to chain. Subscribe to the eventOnMintedItemsRecievedto get the minted item. The method has 2 parameters. The blueprint number and the item's metadataOnConnected- connect to chain.OnDisconnected- disconnect from chain.
Events:
OnUserItemsRecieved- when all user items was parsed and initialized in the ReactClientOnUserInfoRecieved- when all user info was parsed and initialized in the ReactClientOnSpaceMetadataRecieved- when all space info was parsed and initialized in the ReactClientOnMintedItemsRecieved- when all minted items info was parsed and initialized in the ReactClient
API Usage
Create empty
GameObjectnamedReactControllerin the scene and addReactClient.csas its componentCreate new C# script(e.g.
ItemsController) and linkReactClientcomponent to it. You can do it via inspector, using public/serializable fields or FindObjectOfType method or with the help of dependency injection (like Zenject)//ItemsController.cs
void Start
{
ReactClient reactClientInstance = FindObjectOfType<ReactClient>();
}Get user items list in the
ItemsControllersimply subsribe on the eventOnUserItemsRecievedand callingSendUserItemsRequest// ItemsController.cs
ReactClient reactClientInstance;
void Start()
{
//Connect to chain.
reactClientInstance.OnConnected();
// Subsribe on event
reactClientInstance.OnUserItemsRecieved += OnItemAdded;
//Send request
reactClientInstance.SendUserItemsRequest();
}
void OnItemAdded(List<AsylumItem> items)
{
...
}Get user info in the
ItemsControllersimply subsribe on the eventOnUserInfoRecievedand callingSendUserInfoRequest//ItemsController.cs
ReactClient reactClientInstance;
void Start()
{
//Connect to chain.
reactClientInstance.OnConnected();
// Subsribe on event
reactClientInstance.OnUserInfoRecieved += UserInfoRecieved;
//Send request
reactClientInstance.SendUserInfoRequest();
}
void UserInfoRecieved(UserInfo info)
{
...
}Get user info in the
ItemsControllersimply subsribe on the eventOnMintedItemsRecievedand callingSendMintItemRequest//ItemsController.cs
ReactClient reactClientInstance;
void Start()
{
//Connect to chain.
reactClientInstance.OnConnected();
// Subsribe on event
reactClientInstance.OnMintedItemsRecieved += MintedItemsRecieved;
// Set blueprintId for minted item
int blueprintId = 0;
// Set metadata for minted item
AsylumItemMetadata metadata = new AsylumItemMetadata("description of minted item","name of minted item");
//Send request with 2 params
reactClientInstance.SendMintItemRequest(blueprintId,metadata);
}
void MintedItemsRecieved(List<AsylumItem> mintedItems)
{
...
}