Class PooledInstanceProvider
Implementation of IInstanceProvider that uses an internal pool of created objects. It relies on an internal provider to load the source object that will be instantiated.
Inheritance
Namespace: UnityEngine.ResourceManagement.ResourceProviders.Experimental
Syntax
public class PooledInstanceProvider : IInstanceProvider
Constructors
PooledInstanceProvider(String, Single, ResourceManager)
Construct a new PooledInstanceProvider.
Declaration
public PooledInstanceProvider(string name, float releaseTime, ResourceManager rm)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | The name of the GameObject to be created. |
System.Single | releaseTime | Controls how long object stay in the pool. The pool will reduce faster the larger it is. This value roughly represents how many seconds it will take for a pool to completely empty once it contains only 1 item. |
ResourceManager | rm |
Methods
CanProvideInstance<TObject>(IResourceProvider, IResourceLocation)
Determine whether or not this provider can provide for the given loadProvider
and location
Declaration
public bool CanProvideInstance<TObject>(IResourceProvider loadProvider, IResourceLocation location)
Parameters
Type | Name | Description |
---|---|---|
IResourceProvider | loadProvider | Provider used to load the object prefab. |
IResourceLocation | location | Location to instantiate. |
Returns
Type | Description |
---|---|
System.Boolean |
|
Type Parameters
Name | Description |
---|---|
TObject | Object type. |
Implements
ProvideInstanceAsync<TObject>(IResourceProvider, IResourceLocation, IList<Object>, InstantiationParameters)
Asynchronously instantiate the given location
Declaration
public IAsyncOperation<TObject> ProvideInstanceAsync<TObject>(IResourceProvider loadProvider, IResourceLocation location, IList<object> deps, InstantiationParameters instantiateParameters)
Parameters
Type | Name | Description |
---|---|---|
IResourceProvider | loadProvider | Provider used to load the object prefab. |
IResourceLocation | location | Location to instantiate. |
System.Collections.Generic.IList<System.Object> | deps | |
InstantiationParameters | instantiateParameters | Parameters to be used by Unity's GameObject.Instantiate method |
Returns
Type | Description |
---|---|
IAsyncOperation<TObject> | An async operation. |
Type Parameters
Name | Description |
---|---|
TObject | Instantiated object type. |
Implements
ReleaseInstance(IResourceProvider, IResourceLocation, Object)
Releases the instance.
Declaration
public bool ReleaseInstance(IResourceProvider loadProvider, IResourceLocation location, object instance)
Parameters
Type | Name | Description |
---|---|---|
IResourceProvider | loadProvider | Provider used to load the object prefab. |
IResourceLocation | location | Location to release. |
System.Object | instance | Object instance to release. |
Returns
Type | Description |
---|---|
System.Boolean |
|