Heroes_of_Hiis/Assets/Oculus/Platform/Scripts/StandalonePlatform.cs

46 lines
1.5 KiB
C#
Raw Normal View History

2022-03-07 15:52:41 +00:00
namespace Oculus.Platform
{
using UnityEngine;
using System;
using System.Collections;
using System.Runtime.InteropServices;
public sealed class StandalonePlatform
{
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate void UnityLogDelegate(IntPtr tag, IntPtr msg);
public Request<Models.PlatformInitialize> InitializeInEditor()
{
#if UNITY_ANDROID
if (String.IsNullOrEmpty(PlatformSettings.MobileAppID))
{
throw new UnityException("Update your App ID by selecting 'Oculus Platform' -> 'Edit Settings'");
}
var appID = PlatformSettings.MobileAppID;
#else
if (String.IsNullOrEmpty(PlatformSettings.AppID))
{
throw new UnityException("Update your App ID by selecting 'Oculus Platform' -> 'Edit Settings'");
}
var appID = PlatformSettings.AppID;
#endif
if (String.IsNullOrEmpty(StandalonePlatformSettings.OculusPlatformTestUserAccessToken))
{
throw new UnityException("Update your standalone credentials by selecting 'Oculus Platform' -> 'Edit Settings'");
}
var accessToken = StandalonePlatformSettings.OculusPlatformTestUserAccessToken;
return AsyncInitialize(UInt64.Parse(appID), accessToken);
}
public Request<Models.PlatformInitialize> AsyncInitialize(ulong appID, string accessToken)
{
CAPI.ovr_UnityResetTestPlatform();
CAPI.ovr_UnityInitGlobals(IntPtr.Zero);
return new Request<Models.PlatformInitialize>(CAPI.ovr_PlatformInitializeWithAccessToken(appID, accessToken));
}
}
}