66 lines
3.0 KiB
C#
66 lines
3.0 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using UnityEngine.InputSystem;
|
|
using UnityEngine.XR.OpenXR.NativeTypes;
|
|
|
|
namespace UnityEngine.XR.OpenXR.Features
|
|
{
|
|
public abstract partial class OpenXRFeature
|
|
{
|
|
const string Library = "UnityOpenXR";
|
|
|
|
[DllImport(Library, EntryPoint = "Internal_PathToString")]
|
|
[return: MarshalAs(UnmanagedType.U1)]
|
|
static extern bool Internal_PathToStringPtr(ulong pathId, out IntPtr path);
|
|
|
|
[DllImport(Library, EntryPoint = "Internal_StringToPath")]
|
|
[return: MarshalAs(UnmanagedType.U1)]
|
|
static extern bool Internal_StringToPath([MarshalAs(UnmanagedType.LPStr)] string str, out ulong pathId);
|
|
|
|
[DllImport(Library, EntryPoint = "Internal_GetCurrentInteractionProfile")]
|
|
[return: MarshalAs(UnmanagedType.U1)]
|
|
static extern bool Internal_GetCurrentInteractionProfile(ulong pathId, out ulong interactionProfile);
|
|
|
|
[DllImport(Library, EntryPoint = "NativeConfig_GetFormFactor")]
|
|
static extern int Internal_GetFormFactor();
|
|
|
|
[DllImport(Library, EntryPoint = "NativeConfig_GetViewConfigurationType")]
|
|
static extern int Internal_GetViewConfigurationType();
|
|
|
|
[DllImport(Library, EntryPoint = "NativeConfig_GetViewTypeFromRenderIndex")]
|
|
static extern int Internal_GetViewTypeFromRenderIndex(int renderPassIndex);
|
|
|
|
[DllImport(Library, EntryPoint = "OpenXRInputProvider_GetXRSession")]
|
|
[return: MarshalAs(UnmanagedType.U1)]
|
|
internal static extern bool Internal_GetXRSession(out ulong xrSession);
|
|
|
|
[DllImport(Library, EntryPoint = "session_GetSessionState")]
|
|
static extern void Internal_GetSessionState(out int oldState, out int newState);
|
|
|
|
[DllImport(Library, EntryPoint = "NativeConfig_GetEnvironmentBlendMode")]
|
|
static extern XrEnvironmentBlendMode Internal_GetEnvironmentBlendMode();
|
|
|
|
[DllImport(Library, EntryPoint = "NativeConfig_SetEnvironmentBlendMode")]
|
|
static extern void Internal_SetEnvironmentBlendMode(XrEnvironmentBlendMode xrEnvironmentBlendMode);
|
|
|
|
[DllImport(Library, EntryPoint = "OpenXRInputProvider_GetAppSpace")]
|
|
[return: MarshalAs(UnmanagedType.U1)]
|
|
internal static extern bool Internal_GetAppSpace(out ulong appSpace);
|
|
|
|
[DllImport(Library, EntryPoint = "NativeConfig_GetProcAddressPtr")]
|
|
internal static extern IntPtr Internal_GetProcAddressPtr([MarshalAs(UnmanagedType.I1)] bool loaderDefault);
|
|
|
|
[DllImport(Library, EntryPoint = "NativeConfig_SetProcAddressPtrAndLoadStage1")]
|
|
internal static extern void Internal_SetProcAddressPtrAndLoadStage1(IntPtr func);
|
|
|
|
[DllImport(Library)]
|
|
internal static extern ulong runtime_RegisterStatsDescriptor(string statName, StatFlags statFlags);
|
|
|
|
[DllImport(Library)]
|
|
internal static extern void runtime_SetStatAsFloat(ulong statId, float value);
|
|
|
|
[DllImport(Library)]
|
|
internal static extern void runtime_SetStatAsUInt(ulong statId, uint value);
|
|
}
|
|
}
|