public void load(string uri) { if (this.uri == uri) { return; } this.uri = uri; if (string.IsNullOrEmpty(uri)) { return; } string url = getURL(uri); if (resource != null) { resource.release(); AssetsManager.bindEventHandle(resource, resourceHandle, false); } resource = AssetsManager.getResource(url, LoaderXDataType.ASSETBUNDLE); resource.retain(); AssetsManager.bindEventHandle(resource, resourceHandle); resource.load(); }
/// <summary> /// /// </summary> /// <param name="url"></param> /// <param name="uri"></param> /// <param name="type"></param> /// <param name="resultHandle">同url只返回一次回调</param> /// <returns></returns> public AssetResource add(string url, LoaderXDataType type, Action <EventX> resultHandle = null) { if (isStart) { DebugX.LogError("Qu不能在运行时加入:" + url); } AssetResource resource = null; if (string.IsNullOrEmpty(url)) { return(resource); } string key = url.ToLower(); if (urlMapping.TryGetValue(key, out resource)) { return(resource); } resource = AssetsManager.getResource(url, type); if (resource == null) { return(null); } if (isUseRef) { resource.retain(); } urlMapping.Add(key, resource); queue.Enqueue(resource); if (resultHandle != null && resultActions.ContainsKey(key) == false) { resultActions.Add(key, resultHandle); } return(resource); }