A tua próxima funcionalidade
Ações validadas
Faz o servidor validar as ações do jogo.
Unity

O resultado visível
Uma ação válida é aceite e uma ação inválida é rejeitada.
Este passo ainda não tem vídeo. O guia e o pedido MCP já podem ser usados.
Validar ações do jogo
Integra esta funcionalidade
Podes consultar o guia. Para o executar, precisas de uma chave de projeto ativa. Preparar o projeto
SDK instalado, configuração do projeto importada e jogador com sessão iniciada.
Este exemplo do SDK usa develop. Verifica se as API necessárias existem no SDK instalado.
C#
1using UnityEngine;
2using PM.horizOn.Cloud.Core;
3using PM.horizOn.Cloud.Manager;
4
5// Adiciona este script a um GameObject da tua primeira cena.
6public class ValidatedActionsDemo : MonoBehaviour
7{
8 async void Start()
9 {
10 // Preparação: inicializar, conectar e iniciar a sessão de um
11 // jogador.
12 HorizonApp.Initialize();
13 await new HorizonServer().Connect();
14 await UserManager.Instance.SignUpAnonymous("PlayerName");
15
16 byte[] inputLog = System.Array.Empty<byte>();
17
18 // horizOn: iniciar uma partida, gravar os inputs, enviar a
19 // pontuação validada.
20 // 1. Dashboard: turn on "Validated submissions only" for the board "weekly"
21 var va = ValidatedActionsManager.Instance;
22
23 // 2. Round start: single-use ticket plus server seed
24 var run = await va.StartRun("weekly");
25 if (run == null) { Debug.Log(va.LastErrorCode); return; } // e.g. RUN_RATE_LIMITED
26 var random = new System.Random(run.seed);
27
28 // ... play, record the inputs into inputLog (byte[]) ...
29
30 // 3. Round end: score plus input log (the SDK sends its SHA-256 hash)
31 var result = await va.SubmitValidated(18250, inputLog);
32 if (result == null)
33 {
34 Debug.Log($"{va.LastErrorCode}, run kept: {va.HasActiveRun}"); // e.g. DURATION_TOO_SHORT
35 }
36 }
37}
Testa a tua nova funcionalidade.
Uma ação válida é aceite e uma ação inválida é rejeitada.
Seleciona no painel o mesmo projeto que na configuração do teu jogo.
Endpoints da API
- POST
/validated-actions/runs - POST
/validated-actions/submit


