Idee e funzionalità per il gioco

La tua prossima funzionalità

Azioni convalidate

Fai convalidare le azioni di gioco dal server.

SDK: developSessione del giocatore richiesta
Unity
Il risultato visibile

Un'azione valida viene accettata e un'azione non valida viene rifiutata.

Video in arrivo

Questo passaggio non ha ancora un video. La guida e la richiesta MCP sono già utilizzabili.

Convalida le azioni di gioco

Integra questa funzionalità

Puoi consultare la guida. Per eseguirla serve una chiave di progetto attiva. Prepara il progetto

SDK installato, configurazione del progetto importata e giocatore connesso.

Questo esempio del SDK usa develop. Verifica che le API necessarie siano disponibili nel SDK installato.

C#
Assets/Scripts/ValidatedActionsDemo.cs
Chiamata horizOnPreparazione
1using UnityEngine;
2using PM.horizOn.Cloud.Core;
3using PM.horizOn.Cloud.Manager;
4​
5// Aggiungi questo script a un GameObject della tua prima scena.
6public class ValidatedActionsDemo : MonoBehaviour
7{
8 async void Start()
9 {
10 // Preparazione: inizializza, connetti e fai accedere un giocatore.
11 HorizonApp.Initialize();
12 await new HorizonServer().Connect();
13 await UserManager.Instance.SignUpAnonymous("PlayerName");
14​
15 byte[] inputLog = System.Array.Empty<byte>();
16​
17 // horizOn: avvia una partita, registra gli input, invia il
18 // punteggio convalidato.
19 // 1. Dashboard: turn on "Validated submissions only" for the board "weekly"
20 var va = ValidatedActionsManager.Instance;
21​
22 // 2. Round start: single-use ticket plus server seed
23 var run = await va.StartRun("weekly");
24 if (run == null) { Debug.Log(va.LastErrorCode); return; } // e.g. RUN_RATE_LIMITED
25 var random = new System.Random(run.seed);
26​
27 // ... play, record the inputs into inputLog (byte[]) ...
28​
29 // 3. Round end: score plus input log (the SDK sends its SHA-256 hash)
30 var result = await va.SubmitValidated(18250, inputLog);
31 if (result == null)
32 {
33 Debug.Log($"{va.LastErrorCode}, run kept: {va.HasActiveRun}"); // e.g. DURATION_TOO_SHORT
34 }
35 }
36}

Prova la tua nuova funzionalità.

Un'azione valida viene accettata e un'azione non valida viene rifiutata.

Seleziona nella dashboard lo stesso progetto presente nella configurazione del gioco.

Endpoint dell'API
  • POST/validated-actions/runs
  • POST/validated-actions/submit
Tutti gli endpoint nel riferimento API
Il nostro suggerimento per il prossimo passo

Dai un record a ogni partita.

Salva il punteggio dopo una partita e mostra chi è in testa. Continua a usare la connessione e la sessione del giocatore.