Class XRLoaderHelper
XR Loader abstract subclass used as a base class for specific provider implementations. Class provides some helper logic that can be used to handle subsystem handling in a typesafe manner, reducing potential boilerplate code.
Namespace: UnityEngine.XR.Management
Syntax
public abstract class XRLoaderHelper : XRLoader
Fields
m_SubsystemInstanceMap
Map of loaded susbsystems. Used so we don't always have to fo to XRSubsystemManger and do a manual search to find the instance we loaded.
Declaration
protected Dictionary<Type, ISubsystem> m_SubsystemInstanceMap
Field Value
Type | Description |
---|---|
Dictionary<Type, ISubsystem> |
Methods
CreateIntegratedSubsystem<TDescriptor, TSubsystem>(List<TDescriptor>, String)
Creates a native, integrated subsystem given a list of descriptors and a specific subsystem id. DEPRECATED: Please use the geenric CreateSubsystem method. This method is soley retained for backwards compatibility and will be removed in a future release.
Declaration
[Obsolete("This method is obsolete. Please use the geenric CreateSubsystem method.", false)]
protected void CreateIntegratedSubsystem<TDescriptor, TSubsystem>(List<TDescriptor> descriptors, string id)
where TDescriptor : IntegratedSubsystemDescriptor where TSubsystem : IntegratedSubsystem
Parameters
Type | Name | Description |
---|---|---|
List<TDescriptor> | descriptors | List of TDescriptor instances to use for subsystem matching. |
String | id | The identifier key of the particualr subsystem implementation being requested. |
Type Parameters
Name | Description |
---|---|
TDescriptor | The descriptor type being passed in. |
TSubsystem | The subsystem type being requested |
CreateStandaloneSubsystem<TDescriptor, TSubsystem>(List<TDescriptor>, String)
Creates a managed, standalone subsystem given a list of descriptors and a specific subsystem id. DEPRECATED: Please use the geenric CreateSubsystem method. This method is soley retained for backwards compatibility and will be removed in a future release.
Declaration
[Obsolete("This method is obsolete. Please use the generic CreateSubsystem method.", false)]
protected void CreateStandaloneSubsystem<TDescriptor, TSubsystem>(List<TDescriptor> descriptors, string id)
where TDescriptor : SubsystemDescriptor where TSubsystem : Subsystem
Parameters
Type | Name | Description |
---|---|---|
List<TDescriptor> | descriptors | List of TDescriptor instances to use for subsystem matching. |
String | id | The identifier key of the particualr subsystem implementation being requested. |
Type Parameters
Name | Description |
---|---|
TDescriptor | The descriptor type being passed in. |
TSubsystem | The subsystem type being requested |
CreateSubsystem<TDescriptor, TSubsystem>(List<TDescriptor>, String)
Creates a subsystem given a list of descriptors and a specific subsystem id.
Declaration
protected void CreateSubsystem<TDescriptor, TSubsystem>(List<TDescriptor> descriptors, string id)
where TDescriptor : ISubsystemDescriptor where TSubsystem : ISubsystem
Parameters
Type | Name | Description |
---|---|---|
List<TDescriptor> | descriptors | List of TDescriptor instances to use for subsystem matching. |
String | id | The identifier key of the particualr subsystem implementation being requested. |
Type Parameters
Name | Description |
---|---|
TDescriptor | The descriptor type being passed in. |
TSubsystem | The subsystem type being requested |
DestroySubsystem<T>()
Destroy a subsystem instance of a given type. Subsystem assumed to already be loaded from a previous call to CreateSubsystem
Declaration
protected void DestroySubsystem<T>()
where T : class, ISubsystem
Type Parameters
Name | Description |
---|---|
T | A subclass of |
GetLoadedSubsystem<T>()
Gets the loaded subsystem of the specified type. Implementation dependent as only implemetnations know what they have loaded and how best to get it..
Declaration
public override T GetLoadedSubsystem<T>()
where T : class, ISubsystem
Returns
Type | Description |
---|---|
T | The loaded subsystem or null if not found. |
Type Parameters
Name | Description |
---|---|
T | Type of the subsystem to get. |
Overrides
StartSubsystem<T>()
Start a subsystem instance of a given type. Subsystem assumed to already be loaded from a previous call to CreateSubsystem
Declaration
protected void StartSubsystem<T>()
where T : class, ISubsystem
Type Parameters
Name | Description |
---|---|
T | A subclass of |
StopSubsystem<T>()
Stop a subsystem instance of a given type. Subsystem assumed to already be loaded from a previous call to CreateSubsystem
Declaration
protected void StopSubsystem<T>()
where T : class, ISubsystem
Type Parameters
Name | Description |
---|---|
T | A subclass of |