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 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 AsyncInitialize(ulong appID, string accessToken) { CAPI.ovr_UnityResetTestPlatform(); CAPI.ovr_UnityInitGlobals(IntPtr.Zero); return new Request(CAPI.ovr_PlatformInitializeWithAccessToken(appID, accessToken)); } } }