version 2.3.0

This commit is contained in:
Sean Lu(呂祥榮)
2024-05-15 14:09:18 +08:00
parent 45b4e46f74
commit 7f2a459592
289 changed files with 116381 additions and 5440 deletions

View File

@@ -0,0 +1,104 @@
// Copyright HTC Corporation All Rights Reserved.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using UnityEngine;
using UnityEngine.XR.OpenXR;
namespace VIVE.OpenXR
{
public class XR_HTC_path_enumeration_impls : XR_HTC_path_enumeration_defs
{
const string LOG_TAG = "VIVE.OpenXR.XR_HTC_path_enumeration_impls";
void DEBUG(string msg) { Debug.Log(LOG_TAG + " " + msg); }
public XR_HTC_path_enumeration_impls() { DEBUG("XR_HTC_path_enumeration_impls()"); }
private VivePathEnumeration feature = null;
private void ASSERT_FEATURE()
{
if (feature == null) { feature = OpenXRSettings.Instance.GetFeature<VivePathEnumeration>(); }
}
public override XrResult xrEnumeratePathsForInteractionProfileHTC(
ref XrPathsForInteractionProfileEnumerateInfoHTC createInfo,
UInt32 pathCapacityInput,
ref UInt32 pathCountOutput,
[In, Out] XrPath[] paths)
{
DEBUG("xrEnumeratePathsForInteractionProfileHTC");
XrResult result = XrResult.XR_ERROR_VALIDATION_FAILURE;
ASSERT_FEATURE();
if (feature)
{
result = feature.EnumeratePathsForInteractionProfileHTC(ref createInfo, pathCapacityInput,
ref pathCountOutput, paths);
if (result != XrResult.XR_SUCCESS) { paths = null; }
}
paths = null;
return result;
}
public override bool GetUserPaths(string interactionProfileString, out XrPath[] userPaths)
{
ASSERT_FEATURE();
if (feature)
{
if (feature.GetUserPaths(interactionProfileString, out userPaths))
{
return true;
}
else
{
userPaths = null;
return false;
}
}
else
{
userPaths = null;
return false;
}
}
public override bool GetInputPathsWithUserPath(string interactionProfileString, XrPath userPath, out XrPath[] inputPaths)
{
ASSERT_FEATURE();
if (feature)
{
if (feature.GetInputPathsWithUserPath(interactionProfileString, userPath,out inputPaths))
{
return true;
}
else
{
inputPaths = null;
return false;
}
}
else
{
inputPaths = null;
return false;
}
}
public override string PathToString(ulong path)
{
ASSERT_FEATURE();
if (feature)
return feature.xrPathToString(path);
else
return null;
}
public override ulong StringToPath(string str)
{
ASSERT_FEATURE();
if (feature)
return feature.xrStringToPath(str);
else
return 0;
}
}
}