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); }
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); }
/// <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); }
/// <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; }
public DefaultAssetOutOfDateCalculator(ILoadStrategy[] loadStrategies, IRawAssetLoader rawAssetLoader) { this.m_LoadStrategies = loadStrategies; this.m_RawAssetLoader = rawAssetLoader; }
public DefaultAssetCleanup(IRawAssetLoader rawAssetLoader) { this.m_RawAssetLoader = rawAssetLoader; }