Assignment for RMIT Mixed Reality in 2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

46 lines
1.3 KiB

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