public DefaultAssetManager(
            IKernel kernel,
            IAssetLoader[] assetLoaders,
            IAssetSaver[] assetSavers,
            IProfiler[] profilers,
            IRawAssetLoader rawAssetLoader,
            IRawAssetSaver rawAssetSaver,
            ITransparentAssetCompiler transparentAssetCompiler,
            ICoroutine coroutine,
            IConsoleHandle consoleHandle)
        {
            _kernel                   = kernel;
            _assetLoaders             = assetLoaders;
            _assetSavers              = assetSavers;
            _profiler                 = profilers.Length > 0 ? profilers[0] : null;
            _rawAssetLoader           = rawAssetLoader;
            _rawAssetSaver            = rawAssetSaver;
            _transparentAssetCompiler = transparentAssetCompiler;
            _consoleHandle            = consoleHandle;

            _assets           = new Dictionary <string, ISingleAssetReference <IAsset> >();
            _assetsToLoad     = new ConcurrentQueue <ISingleAssetReference <IAsset> >();
            _assetsToFinalize = new ConcurrentQueue <ISingleAssetReference <IAsset> >();

            coroutine.Run(FinalizeAssets);
        }
Exemple #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="LocalAssetManager"/> class.
 /// </summary>
 /// <param name="kernel">
 /// The kernel.
 /// </param>
 /// <param name="profilers">
 /// The profilers.
 /// </param>
 /// <param name="rawLoader">
 /// The raw loader.
 /// </param>
 /// <param name="rawSaver">
 /// The raw saver.
 /// </param>
 /// <param name="loaders">
 /// The loaders.
 /// </param>
 /// <param name="savers">
 /// The savers.
 /// </param>
 /// <param name="transparentAssetCompiler">
 /// The transparent asset compiler.
 /// </param>
 public LocalAssetManager(
     IKernel kernel,
     IProfiler[] profilers,
     IRawAssetLoader rawLoader,
     IRawAssetSaver rawSaver,
     IAssetLoader[] loaders,
     IAssetSaver[] savers,
     ITransparentAssetCompiler transparentAssetCompiler)
 {
     this.m_Kernel                   = kernel;
     this.m_Profiler                 = profilers.Length > 0 ? profilers[0] : new NullProfiler();
     this.m_RawAssetLoader           = rawLoader;
     this.m_RawAssetSaver            = rawSaver;
     this.m_AssetLoaders             = loaders;
     this.m_AssetSavers              = savers;
     this.m_TransparentAssetCompiler = transparentAssetCompiler;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="GameAssetManagerProvider"/> class.
 /// </summary>
 /// <param name="kernel">
 /// The kernel.
 /// </param>
 /// <param name="profilers">
 /// The profilers.
 /// </param>
 /// <param name="rawLoader">
 /// The raw loader.
 /// </param>
 /// <param name="rawSaver">
 /// The raw saver.
 /// </param>
 /// <param name="loaders">
 /// The loaders.
 /// </param>
 /// <param name="savers">
 /// The savers.
 /// </param>
 /// <param name="transparentAssetCompiler">
 /// The transparent asset compiler.
 /// </param>
 public GameAssetManagerProvider(
     IKernel kernel, 
     IProfiler[] profilers, 
     IRawAssetLoader rawLoader, 
     IRawAssetSaver rawSaver, 
     IAssetLoader[] loaders, 
     IAssetSaver[] savers, 
     ITransparentAssetCompiler transparentAssetCompiler)
 {
     this.m_AssetManager = new LocalAssetManager(
         kernel,
         profilers,
         rawLoader,
         rawSaver,
         loaders,
         savers,
         transparentAssetCompiler);
 }
Exemple #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GameAssetManagerProvider"/> class.
 /// </summary>
 /// <param name="kernel">
 /// The kernel.
 /// </param>
 /// <param name="profilers">
 /// The profilers.
 /// </param>
 /// <param name="rawLoader">
 /// The raw loader.
 /// </param>
 /// <param name="rawSaver">
 /// The raw saver.
 /// </param>
 /// <param name="loaders">
 /// The loaders.
 /// </param>
 /// <param name="savers">
 /// The savers.
 /// </param>
 /// <param name="transparentAssetCompiler">
 /// The transparent asset compiler.
 /// </param>
 public GameAssetManagerProvider(
     IKernel kernel,
     IProfiler[] profilers,
     IRawAssetLoader rawLoader,
     IRawAssetSaver rawSaver,
     IAssetLoader[] loaders,
     IAssetSaver[] savers,
     ITransparentAssetCompiler transparentAssetCompiler)
 {
     this.m_AssetManager = new LocalAssetManager(
         kernel,
         profilers,
         rawLoader,
         rawSaver,
         loaders,
         savers,
         transparentAssetCompiler);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="GameAssetManagerProvider"/> class.
 /// </summary>
 /// <param name="kernel">
 /// The kernel.
 /// </param>
 /// <param name="profilers">
 /// The profilers.
 /// </param>
 /// <param name="rawLoader">
 /// The raw loader.
 /// </param>
 /// <param name="rawSaver">
 /// The raw saver.
 /// </param>
 /// <param name="loaders">
 /// The loaders.
 /// </param>
 /// <param name="savers">
 /// The savers.
 /// </param>
 /// <param name="transparentAssetCompiler">
 /// The transparent asset compiler.
 /// </param>
 public ReloadableGameAssetManagerProvider(
     IKernel kernel, 
     IProfiler[] profilers, 
     IRawAssetLoader rawLoader, 
     IRawAssetSaver rawSaver, 
     IAssetLoader[] loaders, 
     IAssetSaver[] savers, 
     ITransparentAssetCompiler transparentAssetCompiler)
 {
     this.m_AssetManager = new LocalAssetManager(
         kernel,
         profilers,
         rawLoader,
         rawSaver,
         loaders,
         savers,
         transparentAssetCompiler);
     this.m_AssetManager.GenerateRuntimeProxies = true;
 }
Exemple #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GameAssetManagerProvider"/> class.
 /// </summary>
 /// <param name="kernel">
 /// The kernel.
 /// </param>
 /// <param name="profilers">
 /// The profilers.
 /// </param>
 /// <param name="rawLoader">
 /// The raw loader.
 /// </param>
 /// <param name="rawSaver">
 /// The raw saver.
 /// </param>
 /// <param name="loaders">
 /// The loaders.
 /// </param>
 /// <param name="savers">
 /// The savers.
 /// </param>
 /// <param name="transparentAssetCompiler">
 /// The transparent asset compiler.
 /// </param>
 public ReloadableGameAssetManagerProvider(
     IKernel kernel,
     IProfiler[] profilers,
     IRawAssetLoader rawLoader,
     IRawAssetSaver rawSaver,
     IAssetLoader[] loaders,
     IAssetSaver[] savers,
     ITransparentAssetCompiler transparentAssetCompiler)
 {
     this.m_AssetManager = new LocalAssetManager(
         kernel,
         profilers,
         rawLoader,
         rawSaver,
         loaders,
         savers,
         transparentAssetCompiler);
     this.m_AssetManager.GenerateRuntimeProxies = true;
 }
Exemple #7
0
 internal NetworkAsset(
     IAssetLoader[] loaders,
     ITransparentAssetCompiler transparentAssetCompiler,
     object[] candidates,
     string name,
     NetworkAssetManager manager)
 {
     this.m_AssetLoaders             = loaders;
     this.m_TransparentAssetCompiler = transparentAssetCompiler;
     this.Name    = name;
     this.Manager = manager;
     this.IsDirty = false;
     if (candidates != null)
     {
         var raw = JsonConvert.SerializeObject(candidates);
         this.Data = Encoding.UTF8.GetBytes(raw);
     }
     else
     {
         this.Data = null;
     }
 }