Files
PrinceOfGlory/Packages/PICO Unity Integration SDK-3.0.0-240902/Runtime/Subsystem/PXR_RaycastSubsystem.cs
kridoo 6e91a0c7f0 111
2025-09-15 17:32:08 +08:00

41 lines
1.2 KiB
C#

#if AR_FOUNDATION
using Unity.XR.PXR;
using UnityEngine;
using UnityEngine.XR.ARSubsystems;
public class PXR_RaycastSubsystem : XRRaycastSubsystem
{
internal const string k_SubsystemId = "PXR_RaycastSubsystem";
internal static PXR_RaycastSubsystem instance { get; private set; }
/// <summary>
/// Do not call this directly. Call create on a valid <see cref="XRSessionSubsystemDescriptor"/> instead.
/// </summary>
public PXR_RaycastSubsystem()
{
instance = this;
}
class RaycastProvider : Provider
{
}
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]
static void RegisterDescriptor()
{
XRRaycastSubsystemDescriptor.RegisterDescriptor(new XRRaycastSubsystemDescriptor.Cinfo
{
id = k_SubsystemId,
providerType = typeof(RaycastProvider),
subsystemTypeOverride = typeof(PXR_RaycastSubsystem),
supportsViewportBasedRaycast = false,
supportsWorldBasedRaycast = false,
supportedTrackableTypes = TrackableType.PlaneWithinBounds,
supportsTrackedRaycasts = false,
});
}
}
#endif