Unity Game SDKv0.5.1Скачать SDK
RUEN

Быстрый старт

Минимальная интеграция занимает около 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.