//===================================================================== /// <summary> /// 加载资源,如果资源已经加载过,则直接从缓存中获取 /// </summary> /// <param name="fullName">全名</param> /// <param name="priority">优先级</param> /// <param name="loadType">加载类型</param> /// <param name="loadStart">加载开始前执行的方法</param> /// <param name="loadProgress">加载开始后且在结束前每帧执行的方法</param> /// <param name="loadEnd">加载结束后执行的方法</param> /// <param name="loadFail">加载失败后执行的方法</param> /// <param name="unZipStart">解压开始前执行的方法</param> /// <param name="unZipProgress">解压开始后且在结束前每帧执行的方法</param> /// <param name="unZipEnd">解压完毕后执行的方法</param> /// <param name="unZipFail">解压失败后执行的方法</param> public void addLoad(string fullName, LoadPriority priority = LoadPriority.two, LoadType loadType = LoadType.local, LoadFunctionDele loadStart = null, LoadFunctionDele loadProgress = null, LoadFunctionDele loadEnd = null, LoadFunctionDele loadFail = null, LoadFunctionDele unZipStart = null, LoadFunctionDele unZipProgress = null, LoadFunctionDele unZipEnd = null, LoadFunctionDele unZipFail = null) { LoadInfo loadInfo = new LoadInfo(); loadInfo.fullName = fullName; loadInfo.priority = priority; loadInfo.loadType = loadType; loadInfo.loadStart = loadStart; loadInfo.loadProgress = loadProgress; loadInfo.loadEnd = loadEnd; loadInfo.loadFail = loadFail; loadInfo.unZipStart = unZipStart; loadInfo.unZipProgress = unZipProgress; loadInfo.unZipEnd = unZipEnd; loadInfo.unZipFail = unZipFail; addLoad(loadInfo); }
/// <summary> /// 清除 /// </summary> public void clear() { if (dic != null) { dic.Clear(); dic = null; } m_isInit = false; EnterFrame.instance.removeEnterFrame(enterframe); m_loadStart = null; m_loadProgress = null; m_loadEnd = null; m_loadFail = null; m_unZipStart = null; m_unZipProgress = null; m_unZipEnd = null; }
/// <summary> /// LoadFunctionDele加法,将dele2加到dele1上 /// </summary> /// <param name="dele1"></param> /// <param name="dele2"></param> private LoadFunctionDele delegateAddition(LoadFunctionDele dele1, LoadFunctionDele dele2) { if (dele1 != null) { dele1 += dele2; } else { dele1 = dele2; } return dele1; }
/// <summary> /// 初始化 /// </summary> public void init(string url, LoadFunctionDele loadStart = null, LoadFunctionDele loadProgress = null, LoadFunctionDele loadEnd = null, LoadFunctionDele loadFail = null, LoadFunctionDele unZipStart = null, LoadFunctionDele unZipProgress = null, LoadFunctionDele unZipEnd = null) { if (isInit) { throw new Exception("ManifestManager试图重复初始化,初始化将清空所有Manifest信息" + "重新从网络加载,如果确信要这么做请在clear()后调用此方法"); } Debug.Log("ManifestManager开始初始化……"); BundleLoadManager.instance.clear(); m_loadStart = loadStart; m_loadProgress = loadProgress; m_loadEnd = loadEnd; m_loadFail = loadFail; m_unZipStart = unZipStart; m_unZipProgress = unZipProgress; m_unZipEnd = unZipEnd; EnterFrame.instance.addEnterFrame(enterframe); www = new WWW(url); if (m_loadStart != null) { m_loadStart(LoadData.getLoadData(LoadConstant.MANIFEST_FILE)); } }