Spelideeën en functies

Je volgende functie

Marktplaats

Verhandel een oorspronkelijk inventarisvoorwerp tussen twee spelers.

SDK: developSpelerssessie vereist
Unity
Illustratie van Marktplaats
Je zichtbare resultaat

De koper ontvangt hetzelfde voorwerp en de verkoper ontvangt de afgesproken prijs minus de ingestelde kosten.

Video volgt

Voor deze stap is nog geen video. De handleiding en MCP-opdracht zijn al bruikbaar.

Marktplaats

Hetzelfde project voorbereiden

  1. Kies in het dashboard hetzelfde project als in de configuratie van je spel.

    Marktplaats →
  2. Voor het eerste verzoek is geen extra definitie nodig. Een leeg resultaat is geldig zolang bijpassende spelgegevens ontbreken.

    Stel een valuta, kosten en minstens één actieve prijsregel in.

    Gebruik twee aangemelde spelers in hetzelfde project. Stel de valuta, kosten en prijsregel in, bied een niet uitgerust voorwerp aan en bevestig de aankoop uitdrukkelijk.

    Items →Spelerwaarden →

Bouw deze functie

Je kunt de handleiding bekijken. Voor uitvoering heb je een actieve projectsleutel nodig. Project voorbereiden

SDK geïnstalleerd, projectconfiguratie geïmporteerd en speler aangemeld.

Dit SDK-voorbeeld gebruikt develop. Controleer of de benodigde API's in je geïnstalleerde SDK bestaan.

Voltooi de Quickstart-verbinding met de bedoelde speler. Roep ReadListing(listingId) expliciet aan via een knop of scèneactie. Alleen het bestand openen verstuurt geen verzoek.

C#
Assets/Scripts/MarketplaceDemo.cs
horizOn-aanroep
1using System.Threading.Tasks;
2using UnityEngine;
3using PM.horizOn.Cloud.Examples.Features;
4using PM.horizOn.Cloud.Objects.Network.Responses;
5​
6public class MarketplaceDemo : MonoBehaviour
7{
8 // Import the SDK Examples sample. Bind its screen to the signed-in player
9 // and set the stable projectId in the Inspector. Never use an Account Key.
10 public MarketplaceExample screen;
11​
12 public Task<MarketplaceResult<MarketplaceListingView>> ReadListing(string listingId)
13 => MarketplaceQuickstart.ReadOneListing(screen, listingId);
14​
15 // Wire only to the player's Buy confirmation after displaying ReadListing.
16 public Task<bool> ConfirmPurchase(string listingId)
17 => MarketplaceQuickstart.BuyReviewedListing(screen, listingId);
18​
19 // false/timeout does not prove nonexecution. Use screen.RetryPending() or
20 // screen.RecoverOriginalOperation(); never replace the unresolved original.
21 // The sample refreshes Inventory, Values and Marketplace before acknowledgement.
22 // Its native file journal rejects WebGL writes; use a durable browser persister.
23}
Volledig SDK-voorbeeld openen ↗

Test met twee spelers

Gebruik twee aangemelde spelers in hetzelfde project. Stel de valuta, kosten en prijsregel in, bied een niet uitgerust voorwerp aan en bevestig de aankoop uitdrukkelijk.

Gebruik de bestaande aangemelde sessie. Bewaar na een onbevestigde aankoop het oorspronkelijke verzoek voor herhaling en ververs daarna de inventaris en tegoeden.

Annuleren beschermt het oorspronkelijke voorwerp totdat de eigenaar het ophaalt. Herstel is alleen beschikbaar als de vorige eigenaar is verwijderd.

Aanbiedingen en herhalingsbeveiliging worden eenmaal in het project opgeslagen. Spelers bewaren verwijzingen en beperkte statusgegevens.

Test je nieuwe functie.

De koper ontvangt hetzelfde voorwerp en de verkoper ontvangt de afgesproken prijs minus de ingestelde kosten.

Kies in het dashboard hetzelfde project als in de configuratie van je spel.

Eindpunten
  • GET/marketplace/limits
  • GET/marketplace/rules
  • GET/marketplace
  • GET/marketplace/listings
  • GET/marketplace/listings/{listingId}
  • POST/marketplace/listings
  • POST/marketplace/listings/{listingId}/buy
  • POST/marketplace/listings/{listingId}/cancel
  • GET/marketplace/operations/{operationId}
  • POST/marketplace/listings/{listingId}/retry-return
Alle eindpunten in de API-referentie
Onze suggestie voor je volgende stap

Geef elke ronde een topscore.

Sla de score na een ronde op en laat zien wie vooropstaat. Blijf je verbinding en de sessie van de speler gebruiken.