Client
.NET/Unity C++/Unreal/Cocos2d-x JavaScript/Cocos2d-js Godot 3 Godot 4 Java/Android Defold cURL REST Swift Dart/Flutter
Server
TypeScript Go Lua
Auctions Read more about the Auctions system in Hiro here .
Creating a New Auction
# To create a new auction, use the AuctionsCreate function.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
FHiroAuctionCreateRequest Request ;
Request . TemplateId = TEXT ( "template_auction_001" );
Request . ConditionId = TEXT ( "condition_001" );
Request . InstanceIds . Add ( TEXT ( "item_instance_001" , 1 ));
FHiroOnAuctionsCreate OnAuctionsCreate ;
OnAuctionsCreate . AddDynamic ( this , & AMyActor :: OnAuctionsCreate );
FOnError OnError ;
HiroClient -> AuctionsCreate ( Session , Request , OnAuctionsCreate , OnError );
void AMyActor :: OnAuctionsCreate ( const FHiroAuctionCreateRequest & AuctionCreateRequest )
{
UE_LOG ( LogTemp , Log , TEXT ( "%s" ), * AuctionCreateRequest . ToJson ());
}
Placing a Bid on an Auction
# You can place a bid on an auction using the BidAsync function.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
FHiroAuctionBidRequest Request ;
Request . Id = TEXT ( "auction_instance_123" );
Request . Version = TEXT ( "1.0" );
Request . Bid . Currencies . Add ( TEXT ( "gold" , 1000 ));
FHiroOnAuctionsBid OnAuctionsBid ;
OnAuctionsBid . AddDynamic ( this , & AMyActor :: OnAuctionsBid );
FOnError OnError ;
HiroClient -> AuctionsBid ( Session , Request , OnAuctionsBid , OnError );
void AMyActor :: OnAuctionsBid ( const FHiroAuctionBidRequest & AuctionsBidRequest )
{
UE_LOG ( LogTemp , Log , TEXT ( "%s" ), * AuctionsBidRequest . ToJson ());
}
Canceling an Auction
# If an auction needs to be canceled before it ends, the CancelAsync method can be used.
1
2
3
4
5
6
7
8
9
10
11
12
13
FHiroAuctionsCancelRequest Request ;
Request . Id = TEXT ( "auction_instance_123" );
FHiroOnAuctionsCancel OnAuctionsCancel ;
OnAuctionsCancel . AddDynamic ( this , & AMyActor :: OnAuctionsCancel );
FOnError OnError ;
HiroClient -> AuctionsCancel ( Session , Request , OnAuctionsCancel , OnError );
void AMyActor :: OnAuctionsCancel ( const AuctionsCancelRequest & AuctionsCancelRequest )
{
UE_LOG ( LogTemp , Log , TEXT ( "%s" ), * AuctionCreateRequest . ToJson ());
}
Claiming a Winning Bid
# Once an auction has ended, the winning bidder can claim their item using ClaimBidAsync.
1
2
3
4
5
6
7
8
9
10
11
12
13
FHiroAuctionClaimBidRequest Request ;
Request . Id = TEXT ( "auction_instance_123" );
FHiroOnAuctionsClaimBid OnAuctionsClaimBid ;
OnAuctionsClaimBid . AddDynamic ( this , & AMyActor :: OnAuctionsClaimBid );
FOnError OnError ;
HiroClient -> AuctionsClaimBid ( Session , Request , OnAuctionsClaimBid , OnError );
void AMyActor :: OnAuctionsClaimBid ( const FHiroAuctionClaimBidRequest & AuctionsClaimBidRequest )
{
UE_LOG ( LogTemp , Log , TEXT ( "%s" ), * AuctionsClaimBidRequest . ToJson ());
}
Listing Available Auctions
# You can list the currently available auctions using the ListAsync function.
1
2
3
4
5
6
7
8
9
10
11
12
FHiroAuctionListRequest Request ;
FHiroOnAuctionsList OnAuctionsList ;
OnAuctionsList . AddDynamic ( this , & AMyActor :: OnAuctionsList );
FOnError OnError ;
HiroClient -> AuctionsList ( Session , Request , OnAuctionsList , OnError );
void AMyActor :: OnAuctionsList ( const FHiroAuctionListRequest & AuctionsListRequest )
{
UE_LOG ( LogTemp , Log , TEXT ( "%s" ), * AuctionsListRequest . ToJson ());
}