ReactClient
Actions, methodes and properties:
SendUserItemsRequest
- send user item request to chain. Subscribe to the eventOnUserItemsRecieved
to get the itemsSendUserInfoRequest
- send user info request to chain. Subscribe to the eventOnUserInfoRecieved
to get the infoSendSpaceMetadataRequest
- send space metadata request to chain. Subscribe to the eventOnSpaceMetadataRecieved
to get the metadataSendMintItemRequest
- send minting item request to chain. Subscribe to the eventOnMintedItemsRecieved
to 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
GameObject
namedReactController
in the scene and addReactClient.cs
as its componentCreate new C# script(e.g.
ItemsController
) and linkReactClient
component 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
ItemsController
simply subsribe on the eventOnUserItemsRecieved
and 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
ItemsController
simply subsribe on the eventOnUserInfoRecieved
and 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
ItemsController
simply subsribe on the eventOnMintedItemsRecieved
and 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)
{
...
}