Быстрый старт
Минимальная интеграция занимает около 15 минут и состоит из установки пакета, добавления компонента и подписки на события.
SDK v0.5:
ConnectAsync() возвращается только после успешного server.hello; вы можете безопасно вызывать ReadyAsync() сразу после него.Добавьте SDK в сцену
Создайте пустой объект VORIVOX SDK и добавьте компонент VorivoxGameSdk.
Создайте контроллер игры
using UnityEngine;
using Vorivox.UnityGameSdk;
public sealed class GameController : MonoBehaviour
{
[SerializeField] private VorivoxGameSdk sdk;
private async void Start()
{
sdk.SessionStarted += OnSessionStarted;
sdk.HitReceived += OnHit;
sdk.SessionPaused += _ => Time.timeScale = 0f;
sdk.SessionResumed += () => Time.timeScale = 1f;
await sdk.ConnectAsync();
await sdk.ReadyAsync("MainScene");
}
private void OnSessionStarted(VorivoxSessionStart session)
{
StartRound(session.PlayerCount);
}
private void OnHit(VorivoxHit hit)
{
Debug.Log($"Hit: {hit.XMm}, {hit.YMm}");
}
}Не запускайте раунд в Start()
Метод Start() используется только для подключения SDK и загрузки ресурсов. Таймер, враги и стрельба запускаются после SessionStarted.
Передавайте результат
await sdk.UpdateScoreAsync(
new VorivoxScore(score, shots, hits, timeLeftMs));
await sdk.CompleteAsync(
new VorivoxResult("completed", score, shots, hits,
durationMs, sdk.Manifest.Session.PlayerCount));Готово. В mock-режиме попадания можно посылать без физической мишени. Для релиза соберите Linux x86_64 build.