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); } } }