static void RunAvailabilityCheck(SupportsInstall supportsInstall, SessionAvailability availability) { ARSession.s_State = ARSessionState.None; InitMock(supportsInstall, availability); CheckAvailabilitySync(); DeinitMock(); }
static void InitMock(SupportsInstall supportsInstall, SessionAvailability availability) { MockLoader.supportsInstall = supportsInstall; MockProvider.availability = availability; var xrManager = ScriptableObject.CreateInstance <XRManagerSettings>(); xrManager.loaders.Clear(); xrManager.loaders.Add(ScriptableObject.CreateInstance <MockLoader>()); xrManager.InitializeLoaderSync(); XRGeneralSettings.Instance = ScriptableObject.CreateInstance <XRGeneralSettings>(); XRGeneralSettings.Instance.Manager = xrManager; }
static XRSessionSubsystemDescriptor.Cinfo GetDescriptorCinfo(SupportsInstall supportsInstall) { var canBeInstalled = supportsInstall == SupportsInstall.Yes; var type = canBeInstalled ? typeof(SubsystemThatSupportsInstall) : typeof(SubsystemThatDoesNotSupportInstall); return(new XRSessionSubsystemDescriptor.Cinfo { id = GetSubsystemName(supportsInstall), providerType = typeof(MockProvider), subsystemTypeOverride = type, supportsInstall = canBeInstalled, }); }
static XRSessionSubsystemDescriptor.Cinfo GetDescriptorCinfo(SupportsInstall supportsInstall) { var canBeInstalled = supportsInstall == SupportsInstall.Yes; var type = canBeInstalled ? typeof(SubsystemThatSupportsInstall) : typeof(SubsystemThatDoesNotSupportInstall); return(new XRSessionSubsystemDescriptor.Cinfo { id = GetSubsystemName(supportsInstall), #if UNITY_2020_2_OR_NEWER providerType = typeof(MockProvider), subsystemTypeOverride = type, #else subsystemImplementationType = type, #endif supportsInstall = canBeInstalled, }); }
static string GetSubsystemName(SupportsInstall supportsInstall) => $"SessionThatSupportsInstall{supportsInstall.ToString()}";