Class AdaptivePerformanceLoaderHelper
Adaptive Performance 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.
Inheritance
Inherited Members
Namespace: UnityEngine.AdaptivePerformance
Syntax
public abstract class AdaptivePerformanceLoaderHelper : AdaptivePerformanceLoader
Fields
m_SubsystemInstanceMap
Map of loaded susbsystems. Used so Unity doesn't always have to call AdaptivePerformanceManger and do a manual search to find the instance it loaded.
Declaration
protected Dictionary<Type, ISubsystem> m_SubsystemInstanceMap
Field Value
Type | Description |
---|---|
Dictionary<Type, ISubsystem> |
Methods
CreateSubsystem<TDescriptor, TSubsystem>(List<TDescriptor>, String)
Creates a subsystem with a given 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. |
Deinitialize()
Override of Deinitialize() to provide for clearing the instance map.true
If you override Deinitialize() in your subclass, you must call the base implementation to allow the instance map tp be cleaned up correctly.
Declaration
public override bool Deinitialize()
Returns
Type | Description |
---|---|
Boolean | True if de-initialization was successful. |
Overrides
DestroySubsystem<T>()
Destroy a subsystem instance of a given type. Subsystem is 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 ISubsystem |
GetLoadedSubsystem<T>()
Gets the loaded subsystem of the specified type. This is implementation-specific, because implementations contain data on 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 no subsystem found. |
Type Parameters
Name | Description |
---|---|
T | Type of the subsystem to get. |
Overrides
StartSubsystem<T>()
Start a subsystem instance of a given type. Subsystem is 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 ISubsystem |
StopSubsystem<T>()
Stop a subsystem instance of a given type. Subsystem is 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 ISubsystem |