/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~异步加载~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ /// <summary> /// 添加异步资源加载 /// </summary> /// <param name="path">资源路径</param> /// <param name="type">资源类型</param> /// <param name="callback">资源成功或失败回调函数</param> /// 例:ResourceManager.Instance.AddAsync("Prefab/Scene/Map_1003", eResType.PREFAB, delegate(sResLoadResult info){}); /// <returns></returns> public ulong AddAsync(string path, eResType type, System.Action <sResLoadResult> callback) { if (m_BackLoadThread == null || string.IsNullOrEmpty(path)) { return(0); } //判断是否已经加载过 Object res = ResourceLoaderManager.Instance.GetResource(path); if (res != null) { if (callback != null) { callback(new sResLoadResult(true, path)); } return(0); } ulong id = ShareGUID(); sResLoadChunk info = new sResLoadChunk(path, type, callback); info.ID = id; m_BackLoadThread.Add(info); return(id); }
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~同步加载~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ /// <summary> /// 增加同步资源加载 /// </summary> /// <param name="path">资源路径</param> /// <param name="type">资源类型</param> /// <returns></returns> public ulong AddSync(string path, eResType type) { if (m_FrontLoadThread == null || string.IsNullOrEmpty(path)) { return(0); } ulong id = ShareGUID(); sResLoadChunk info = new sResLoadChunk(path, type, null); info.ID = id; m_FrontLoadThread.Add(info); return(id); }