Пример #1
0
        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);
        }
Пример #2
0
 public DefaultAutomaticAssetReload(
     IAssetManager assetManager,
     IRawAssetLoader rawAssetLoader)
 {
     _assetManager   = assetManager;
     _rawAssetLoader = rawAssetLoader;
     _started        = false;
 }
 public DefaultAutomaticAssetReload(
     IAssetManager assetManager,
     IRawAssetLoader rawAssetLoader)
 {
     _assetManager = assetManager;
     _rawAssetLoader = rawAssetLoader;
     _started = false;
 }
 public LocalAssetManagerProvider(
     IRawAssetLoader rawLoader,
     IRawAssetSaver rawSaver,
     IEnumerable<IAssetLoader> loaders,
     IEnumerable<IAssetSaver> savers)
 {
     this.m_AssetManager = new LocalAssetManager(
         rawLoader,
         rawSaver,
         loaders,
         savers);
 }
Пример #5
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;
 }
        public IAsset GetUnresolved(string asset)
        {
            lock (this.m_Assets)
            {
                // If the network asset already exists, return it.
                if (this.m_Assets.ContainsKey(asset))
                {
                    if (!this.m_Assets[asset].IsDirty)
                    {
                        return(this.m_Assets[asset]);
                    }
                    this.m_Assets.Remove(asset);
                }

                // Otherwise load the raw assets if that doesn't exist.
                object[]     candidates;
                NetworkAsset result;
                if (!this.m_RawAssets.ContainsKey(asset))
                {
                    if (this.m_RawAssetLoader == null)
                    {
                        this.m_RawAssetLoader = this.m_Kernel.Get <IRawAssetLoader>();
                    }
                    try
                    {
                        candidates = this.m_RawAssetLoader.LoadRawAssetCandidates(asset);
                    }
                    catch (AssetNotFoundException)
                    {
                        result = new NetworkAsset(this.m_Kernel.GetAll <IAssetLoader>().ToArray(), this.m_TransparentAssetCompiler, null, asset, this);
                        this.m_Assets.Add(asset, result);
                        return(result);
                    }
                }
                else
                {
                    candidates = this.m_RawAssets[asset];
                }

                // We now have our raw asset and we need to wrap it in
                // a NetworkAsset.
                result = new NetworkAsset(this.m_Kernel.GetAll <IAssetLoader>().ToArray(), this.m_TransparentAssetCompiler, candidates, asset, this);
                this.m_Assets.Add(asset, result);
                return(result);
            }
        }
 /// <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);
 }
Пример #8
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;
 }
Пример #10
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;
 }
Пример #11
0
 public DefaultAssetOutOfDateCalculator(ILoadStrategy[] loadStrategies, IRawAssetLoader rawAssetLoader)
 {
     this.m_LoadStrategies = loadStrategies;
     this.m_RawAssetLoader = rawAssetLoader;
 }
 public DefaultAssetOutOfDateCalculator(ILoadStrategy[] loadStrategies, IRawAssetLoader rawAssetLoader)
 {
     this.m_LoadStrategies = loadStrategies;
     this.m_RawAssetLoader = rawAssetLoader;
 }
Пример #13
0
 public DefaultAssetCleanup(IRawAssetLoader rawAssetLoader)
 {
     this.m_RawAssetLoader = rawAssetLoader;
 }
Пример #14
0
 public DefaultAssetCleanup(IRawAssetLoader rawAssetLoader)
 {
     this.m_RawAssetLoader = rawAssetLoader;
 }