Files
UltimateFishing/Assets/Scripts/Assembly-CSharp/ViveportDemo_ArcadeSession.cs
2026-02-21 16:45:37 +08:00

81 lines
1.9 KiB
C#

using UnityEngine;
using Viveport;
using Viveport.Arcade;
using Viveport.Core;
public class ViveportDemo_ArcadeSession : MonoBehaviour
{
private class Result : Session.SessionListener
{
public override void OnSuccess(string pchAppID)
{
Viveport.Core.Logger.Log("[Session OnSuccess] pchAppID=" + pchAppID);
}
public override void OnStartSuccess(string pchAppID, string pchGuid)
{
Viveport.Core.Logger.Log("[Session OnStartSuccess] pchAppID=" + pchAppID + ",pchGuid=" + pchGuid);
}
public override void OnStopSuccess(string pchAppID, string pchGuid)
{
Viveport.Core.Logger.Log("[Session OnStopSuccess] pchAppID=" + pchAppID + ",pchGuid=" + pchGuid);
}
public override void OnFailure(int nCode, string pchMessage)
{
Viveport.Core.Logger.Log("[Session OnFailed] nCode=" + nCode + ",pchMessage=" + pchMessage);
Time.timeScale = 0f;
}
}
private int nWidth = 120;
private int nHeight = 40;
private int nXStart = 10;
private int nYStart = 35;
private static string VIVEPORT_ARCADE_APP_TEST_ID = "app_test_id";
private Result mListener;
private void Start()
{
Viveport.Core.Logger.Log("Version: " + Api.Version());
mListener = new Result();
Api.Init(InitStatusHandler, VIVEPORT_ARCADE_APP_TEST_ID);
}
private void Update()
{
}
private void InitStatusHandler(int nResult)
{
Viveport.Core.Logger.Log("InitStatusHandler: " + nResult);
if (nResult != 0)
{
Viveport.Core.Logger.Log("Platform setup error ...");
return;
}
Viveport.Core.Logger.Log("Session IsReady");
Session.IsReady(mListener);
}
private void OnGUI()
{
if (GUI.Button(new Rect(nXStart, nYStart, nWidth, nHeight), "Session Start"))
{
Viveport.Core.Logger.Log("Session Start");
Session.Start(mListener);
}
if (GUI.Button(new Rect(nXStart, nYStart + nWidth + 10, nWidth, nHeight), "Session Stop"))
{
Viveport.Core.Logger.Log("Session Stop");
Session.Stop(mListener);
}
}
}