private void LoadErrorImmediately(ILoader loader) { if (loader.error != "timeOut") { App.logManager.Warn("ResourceManager.LoadErrorImmediately: urlAbsolute:\"" + loader.urlAbsolute + "\" urlRelative:\"" + loader.urlRelative + "\" Message:" + loader.error); } // 获取LoadItem LoadItem item; if (_immediateDict.TryGetValue(loader.urlRelative, out item) == false) { App.logManager.Warn("ResourceManager.LoadErrorImmediately: LoadItem is null: urlAbsolute:\"" + loader.urlAbsolute + "\" urlRelative:\"" + loader.urlRelative); return; } // 设置失败信息 item.error = loader.error; // 移除加载字典 _immediateDict.Remove(item.url); // 执行加载失败回调 if (item.errorCallback != null) { item.errorCallback.Invoke(item); } // 销毁加载器 loader.Dispose(); }
/// <summary> /// 销毁对象池对象 /// </summary> public void OnPoolDispose() { _completeCallback = null; _errorCallback = null; _loader.Dispose(); _loader = null; }
private void LoadError(ILoader loader) { if (loader.error != "timeOut") { App.logManager.Warn("ResourceManager.Load Error: urlAbsolute:\"" + loader.urlAbsolute + "\" urlRelative:\"" + loader.urlRelative + "\" Message:" + loader.error); if (loader.error == "loadContentIsNull") { // 文件加载失败时删除文件 if (App.fileManager.FileExistsPersistent(loader.urlRelative)) { App.fileManager.DeleteFilePersistent(loader.urlRelative); } } } // 获取LoadItem LoadItem item; if (_loadDict.TryGetValue(loader.urlRelative, out item) == false) { App.logManager.Warn("ResourceManager.Load Error: LoadItem is null: urlAbsolute:\"" + loader.urlAbsolute + "\" urlRelative:\"" + loader.urlRelative); return; } // 设置失败信息 item.error = loader.error; // 移除加载字典 if (_loadDict.ContainsKey(item.url)) { _loadDict.Remove(item.url); } // 移除当前加载器字典 if (_currentLoaders.ContainsKey(item.url)) { _currentLoaders.Remove(item.url); } // 执行加载失败回调 if (item.errorCallback != null) { item.errorCallback.Invoke(item); } // 派发事件 DispatchEvent(ResourceManagerEventArgs.ITEM_ERROR, item); // 销毁加载器 loader.Dispose(); // 继续执行加载 LoadNext(); }
private void LoadComplete(ILoader loader) { // 获取LoadItem LoadItem item; if (_loadDict.TryGetValue(loader.urlRelative, out item) == false) { return; } // 缓存Asset IAsset asset = loader.asset; if (asset != null) { // 设置资源唯一ID asset.id = item.id; // 判断是否要将Asset放入内存 if (item.cache) { App.assetManager.AddAsset(item.id, asset); } // 判断是否需要写入Persistent目录 //if (item.save) // App.fileManager.WriteFilePersistentAsync(loader.urlRelative, loader.bytes, false); } // 移除当前加载器字典 if (_currentLoaders.ContainsKey(item.url)) { _currentLoaders.Remove(item.url); } // 加载完毕 EndLoad(item, asset); // 派发事件 DispatchEvent(ResourceManagerEventArgs.ITEM_COMPLETE, item); // 销毁加载器 loader.Dispose(); // 继续执行加载 LoadNext(); }
private void LoadCompleteImmediately(ILoader loader) { // 获取LoadItem LoadItem item; if (_immediateDict.TryGetValue(loader.urlRelative, out item) == false) { return; } // 缓存Asset IAsset asset = loader.asset; if (asset != null) { // 设置资源唯一ID asset.id = item.id; // 判断是否要将Asset放入内存 if (item.cache) { App.assetManager.AddAsset(item.id, asset); } // 判断是否需要写入Persistent目录 //if (item.save) // App.fileManager.WriteFilePersistentAsync(loader.urlRelative, loader.bytes, false); } // 填充LoadItem item.asset = asset; // 执行加载完成回调 if (item.completeCallback != null) { item.completeCallback.Invoke(item); } // 移除当前加载列表 _immediateDict.Remove(item.url); // 销毁加载器 loader.Dispose(); }
internal static IEnumerable<Tokens.Base> Scan(ILoader loader, bool dispose) { while (loader.CheckToken()) yield return loader.GetToken(); if (dispose) loader.Dispose(); }
internal static IEnumerable<Events.Base> Parse(ILoader loader, bool dispose) { while (loader.CheckEvent()) yield return loader.GetEvent(); if (dispose) loader.Dispose(); }
internal static IEnumerable<Nodes.Base> ComposeAll(ILoader loader, bool dispose) { while (loader.CheckNode()) yield return loader.GetNode(); if (dispose) loader.Dispose(); }
protected override void OnDeactivate(bool close) { base.OnDeactivate(close); loader.Dispose(); }
public void Dispose() { _loader.Dispose(); _container.Dispose(); }
//Recycle loader here void RecycleLoader(ILoader loader) { loader.Dispose(); }