|
|
- namespace Oculus.Platform
- {
- using UnityEngine;
- using System;
- using System.Collections;
- using System.Runtime.InteropServices;
-
- public class WindowsPlatform
- {
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate void UnityLogDelegate(IntPtr tag, IntPtr msg);
-
- void CPPLogCallback(IntPtr tag, IntPtr message)
- {
- Debug.Log(string.Format("{0}: {1}", Marshal.PtrToStringAnsi(tag), Marshal.PtrToStringAnsi(message)));
- }
-
- IntPtr getCallbackPointer()
- {
- //UnityLogDelegate callback_delegate = new UnityLogDelegate(CPPLogCallback);
- //IntPtr intptr_delegate = Marshal.GetFunctionPointerForDelegate(callback_delegate);
- return IntPtr.Zero;
- }
-
- public bool Initialize(string appId)
- {
- if(String.IsNullOrEmpty(appId))
- {
- throw new UnityException("AppID must not be null or empty");
- }
-
- CAPI.ovr_UnityInitWrapperWindows(appId, getCallbackPointer());
- return true;
- }
-
- public Request<Models.PlatformInitialize> AsyncInitialize(string appId)
- {
- if(String.IsNullOrEmpty(appId))
- {
- throw new UnityException("AppID must not be null or empty");
- }
-
- return new Request<Models.PlatformInitialize>(CAPI.ovr_UnityInitWrapperWindowsAsynchronous(appId, getCallbackPointer()));
- }
- }
- }
|