Example #1
0
            internal static unsafe IReadOnlyCollection <XRDeviceId> Invoke(Name SystemId, EXRTrackedDeviceType DeviceType)
            {
                long *p = stackalloc long[] { 0L, 0L, 0L, 0L, 0L };
                byte *b = (byte *)p;

                *((Name *)(b + 0)) = SystemId;
                *(b + 12)          = (byte)DeviceType;
                Main.GetProcessEvent(HeadMountedDisplayFunctionLibrary.DefaultObject, EnumerateTrackedDevices_ptr, new IntPtr(p));;
                //TODO: array TArray ReturnValue
                return(UObject.ToUnmangedCollection <XRDeviceId>(b + 16));
            }
        }
Example #2
0
 ///<summary>Cross XR-System query that will list all XR devices currently being tracked.</summary>
 ///<remarks>
 ///@param  SystemId             (Optional) Specifies an explicit system to poll devices from (use if you want only devices belonging to one explicit XR ecosystem, e.g. 'OculusHMD', or 'SteamVR')
 ///@param  DeviceType   Specifies the type of device to query for - defaults to 'Any' (meaning 'All').
 ///
 ///@return A list of device identifiers matching the query. Use these to query and operate on the device (e.g. through GetDevicePose, AddDeviceVisualizationComponent, etc.)
 ///</remarks>
 public static IReadOnlyCollection <XRDeviceId> EnumerateTrackedDevices(Name SystemId, EXRTrackedDeviceType DeviceType) =>
 HeadMountedDisplayFunctionLibrary_methods.EnumerateTrackedDevices_method.Invoke(SystemId, DeviceType);