Show / Hide Table of Contents

    Class AddressableAssetService

    This implementation of IAssetService uses Unity's Addressable Assets as a backend. Assets are managed in the Addressable Asset Settings via the Addressables Editor Windows and this service loads and unloads them from there. Assets loaded with this service are injected the first time they are loaded if possible.

    Inheritance
    Object
    ServiceBase
    AddressableAssetService
    Implements
    IAssetService
    IService
    IInjectable
    Inherited Members
    ServiceBase.OnInitialized
    ServiceBase._isInitialized
    ServiceBase.IsInitialized
    ServiceBase._unityEventListener
    ServiceBase.Initialize()
    ServiceBase.Cleanup()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Object.ToString()
    Object.ReferenceEquals(Object, Object)
    Namespace: IdleKit.Core
    Assembly: cs.temp.dll.dll
    Syntax
    public class AddressableAssetService : ServiceBase, IAssetService, IService, IInjectable

    Fields

    _loadedAssetHandles

    Declaration
    protected Dictionary<string, AsyncOperationHandle> _loadedAssetHandles
    Field Value
    Type Description
    Dictionary<String, AsyncOperationHandle>

    _normalizedProgress

    Declaration
    protected float _normalizedProgress
    Field Value
    Type Description
    Single

    _resolver

    Declaration
    protected IResolver _resolver
    Field Value
    Type Description
    IResolver

    Properties

    NormalizedProgress

    Declaration
    public virtual float NormalizedProgress { get; }
    Property Value
    Type Description
    Single

    Methods

    AddAssets(String, IEnumerable<Object>)

    Stores one or more assets under a key to be returned by a load operation.

    Declaration
    public virtual void AddAssets(string key, IEnumerable<object> assets)
    Parameters
    Type Name Description
    String key

    The key to store the assets under. A load operation that is passed the same key should return these assets.

    IEnumerable<Object> assets

    The assets to store.

    CleanupService()

    Declaration
    protected override void CleanupService()
    Overrides
    ServiceBase.CleanupService()

    InitializeService()

    Declaration
    protected override void InitializeService()
    Overrides
    ServiceBase.InitializeService()

    Inject(IResolver)

    Allow the IResolver be injected into this IInjectable class and then the IInjectable class would be able to fetch its dependencies using the IResolver. It is done this way in IdleKit for simplicity and to avoid using System.Reflection

    Declaration
    public override void Inject(IResolver resolver)
    Parameters
    Type Name Description
    IResolver resolver

    the IResolver that is being injected

    Overrides
    ServiceBase.Inject(IResolver)

    LoadAssetReferences<TAsset>(IEnumerable<IAssetReference<TAsset>>, Action<List<TAsset>>)

    Declaration
    public virtual void LoadAssetReferences<TAsset>(IEnumerable<IAssetReference<TAsset>> assetReferences, Action<List<TAsset>> onComplete)
        where TAsset : class
    Parameters
    Type Name Description
    IEnumerable<IAssetReference<TAsset>> assetReferences
    Action<List<TAsset>> onComplete
    Type Parameters
    Name Description
    TAsset

    LoadAssets(String, Action<List<Object>>)

    Loaded assets will be injected with IResolver if they implement IInjectable.

    Declaration
    public virtual void LoadAssets(string key, Action<List<object>> onComplete)
    Parameters
    Type Name Description
    String key

    The key to load the assets from.

    Action<List<Object>> onComplete

    Broadcast when the assets have been loaded.

    LoadAssets(Type, String, Action<List<Object>>)

    Loaded assets will be injected with IResolver if they implement IInjectable.

    Declaration
    public virtual void LoadAssets(Type assetType, string key, Action<List<object>> onComplete)
    Parameters
    Type Name Description
    Type assetType

    The Type of asset to load.

    String key

    The key to load the assets from.

    Action<List<Object>> onComplete

    Broadcast when the assets have been loaded.

    LoadAssets<TResult>(String, Action<List<TResult>>)

    Loaded assets will be injected with IResolver if they implement IInjectable.

    Declaration
    public virtual void LoadAssets<TResult>(string key, Action<List<TResult>> onComplete)
        where TResult : class
    Parameters
    Type Name Description
    String key
    Action<List<TResult>> onComplete
    Type Parameters
    Name Description
    TResult

    LoadAssetsInternal(Type, String, Action<List<Object>>)

    This is the central load method. All other load methods load assets through this method.

    Declaration
    protected virtual void LoadAssetsInternal(Type assetType, string key, Action<List<object>> onComplete)
    Parameters
    Type Name Description
    Type assetType
    String key
    Action<List<Object>> onComplete

    RemoveAllAssets()

    Remove all assets.

    Declaration
    public virtual void RemoveAllAssets()

    RemoveAssets(String, IEnumerable<Object>)

    Removes one or more assets under a specific key that have previously been added so they can no longer be loaded.

    Declaration
    public virtual void RemoveAssets(string key, IEnumerable<object> assets)
    Parameters
    Type Name Description
    String key

    The key to remove the assets from under.

    IEnumerable<Object> assets

    The assets to remove.

    UnloadAllAssets()

    Unload all assets.

    Declaration
    public virtual void UnloadAllAssets()

    UnloadAssetReferences<TAsset>(IEnumerable<IAssetReference<TAsset>>)

    Declaration
    public virtual void UnloadAssetReferences<TAsset>(IEnumerable<IAssetReference<TAsset>> assetReferences)
        where TAsset : class
    Parameters
    Type Name Description
    IEnumerable<IAssetReference<TAsset>> assetReferences
    Type Parameters
    Name Description
    TAsset

    UnloadAssets(String)

    Unloads one or more assets.

    Declaration
    public virtual void UnloadAssets(string key)
    Parameters
    Type Name Description
    String key

    The key to unload the assets from.

    UnloadAssetsInternal(String)

    This is the central unload method. All other load methods unload assets through this method.

    Declaration
    protected virtual void UnloadAssetsInternal(string key)
    Parameters
    Type Name Description
    String key

    Implements

    IAssetService
    IService
    IInjectable
    Back to top Copyright © 2020 East Side Games Inc.