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
If you override
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 |