WuhuIslandTesting/Library/PackageCache/com.unity.xr.management@4.2.1/Editor/Metadata/KnownPackages.cs
2025-01-07 02:06:59 +01:00

183 lines
7.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
namespace UnityEditor.XR.Management.Metadata
{
internal class KnownPackages
{
internal static string k_KnownPackageMockHMDLoader = "Unity.XR.MockHMD.MockHMDLoader";
class KnownLoaderMetadata : IXRLoaderMetadata
{
public string loaderName { get; set; }
public string loaderType { get; set; }
public List<BuildTargetGroup> supportedBuildTargets { get; set; }
}
class KnownPackageMetadata : IXRPackageMetadata
{
public string packageName { get; set; }
public string packageId { get; set; }
public string settingsType { get; set; }
public List<IXRLoaderMetadata> loaderMetadata { get; set; }
}
class KnownPackage : IXRPackage
{
public IXRPackageMetadata metadata { get; set; }
public bool PopulateNewSettingsInstance(ScriptableObject obj) { return true; }
}
private static Lazy<List<IXRPackage>> s_KnownPackages = new Lazy<List<IXRPackage>>(InitKnownPackages);
internal static List<IXRPackage> Packages => s_KnownPackages.Value;
static List<IXRPackage> InitKnownPackages()
{
List<IXRPackage> packages = new List<IXRPackage>();
#if UNITY_2020_3_OR_NEWER
packages.Add(new KnownPackage() {
metadata = new KnownPackageMetadata(){
packageName = "Open XR Plugin",
packageId = "com.unity.xr.openxr",
settingsType = "UnityEditor.XR.OpenXR.OpenXRPackageSettings",
loaderMetadata = new List<IXRLoaderMetadata>() {
new KnownLoaderMetadata() {
loaderName = "Open XR",
loaderType = "UnityEngine.XR.OpenXR.OpenXRLoader",
supportedBuildTargets = new List<BuildTargetGroup>() {
BuildTargetGroup.Standalone,
BuildTargetGroup.WSA
}
},
}
}
});
#endif
#if !UNITY_2021_2_OR_NEWER
packages.Add(new KnownPackage() {
metadata = new KnownPackageMetadata(){
packageName = "Windows XR Plugin",
packageId = "com.unity.xr.windowsmr",
settingsType = "UnityEditor.XR.WindowsMR.WindowsMRPackageSettings",
loaderMetadata = new List<IXRLoaderMetadata>() {
new KnownLoaderMetadata() {
loaderName = "Windows Mixed Reality",
loaderType = "UnityEngine.XR.WindowsMR.WindowsMRLoader",
supportedBuildTargets = new List<BuildTargetGroup>() {
BuildTargetGroup.Standalone,
BuildTargetGroup.WSA
}
},
}
}
});
#endif
packages.Add(new KnownPackage() {
metadata = new KnownPackageMetadata(){
packageName = "Oculus XR Plugin",
packageId = "com.unity.xr.oculus",
settingsType = "Unity.XR.Oculus.OculusSettings",
loaderMetadata = new List<IXRLoaderMetadata>() {
new KnownLoaderMetadata() {
loaderName = "Oculus",
loaderType = "Unity.XR.Oculus.OculusLoader",
supportedBuildTargets = new List<BuildTargetGroup>() {
BuildTargetGroup.Standalone,
BuildTargetGroup.Android,
}
},
}
}
});
// This section will get replaced with the RELISH package in the near future.
#if !UNITY_2021_2_OR_NEWER
packages.Add(new KnownPackage() {
metadata = new KnownPackageMetadata(){
packageName = "Magic Leap XR Plugin",
packageId = "com.unity.xr.magicleap",
settingsType = "UnityEngine.XR.MagicLeap.MagicLeapSettings",
loaderMetadata = new List<IXRLoaderMetadata>() {
new KnownLoaderMetadata() {
loaderName = "Magic Leap Zero Iteration",
loaderType = "UnityEngine.XR.MagicLeap.MagicLeapLoader",
supportedBuildTargets = new List<BuildTargetGroup>() {
BuildTargetGroup.Standalone,
}
},
new KnownLoaderMetadata() {
loaderName = "Magic Leap",
loaderType = "UnityEngine.XR.MagicLeap.MagicLeapLoader",
supportedBuildTargets = new List<BuildTargetGroup>() {
BuildTargetGroup.Lumin
}
},
}
}
});
#endif // !UNITY_2021_2_OR_NEWER
packages.Add(new KnownPackage() {
metadata = new KnownPackageMetadata(){
packageName = "ARCore XR Plugin",
packageId = "com.unity.xr.arcore",
settingsType = "UnityEditor.XR.ARCore.ARCoreSettings",
loaderMetadata = new List<IXRLoaderMetadata>() {
new KnownLoaderMetadata() {
loaderName = "ARCore",
loaderType = "UnityEngine.XR.ARCore.ARCoreLoader",
supportedBuildTargets = new List<BuildTargetGroup>() {
BuildTargetGroup.Android,
}
},
}
}
});
packages.Add(new KnownPackage() {
metadata = new KnownPackageMetadata(){
packageName = "ARKit XR Plugin",
packageId = "com.unity.xr.arkit",
settingsType = "UnityEditor.XR.ARKit.ARKitSettings",
loaderMetadata = new List<IXRLoaderMetadata>() {
new KnownLoaderMetadata() {
loaderName = "ARKit",
loaderType = "UnityEngine.XR.ARKit.ARKitLoader",
supportedBuildTargets = new List<BuildTargetGroup>() {
BuildTargetGroup.iOS,
}
},
}
}
});
packages.Add(new KnownPackage() {
metadata = new KnownPackageMetadata() {
packageName = "MockHMD XR Plugin",
packageId = "com.unity.xr.mock-hmd",
settingsType = "Unity.XR.MockHMD.MockHMDBuildSettings",
loaderMetadata = new List<IXRLoaderMetadata>() {
new KnownLoaderMetadata() {
loaderName = "Unity Mock HMD",
loaderType = k_KnownPackageMockHMDLoader,
supportedBuildTargets = new List<BuildTargetGroup>() {
BuildTargetGroup.Standalone,
BuildTargetGroup.Android
}
},
}
}
});
return packages;
}
}
}