|
|
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>();
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 } }, } } });
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, } }, } } });
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 } }, } } });
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; } }}
|