Пример #1
0
        // 主线程中执行
        // 任务完成后处理
        public override void EndDo()
        {
            if (m_nFileSize <= 0)
            {
                Log.Error("{0}不存在,请检查资源!", m_strResName);
                m_eState = IResource.EResourceState.EResourceState_Complete;
                OnFinish();
                return;
            }

            // 同步创建assetBundle
            AssetBundle ab = null;

            try
            {
#if (UNITY_5)
                ab = AssetBundle.LoadFromMemory(m_FileBuff);
#else
                ab = AssetBundle.CreateFromMemoryImmediate(m_FileBuff);
#endif
            }
            catch (System.Exception ex)
            {
                Log.Error("加载资源出错:{0}", ex.Message);
            }

            m_eState = IResource.EResourceState.EResourceState_Loaded;

            if (ab == null)
            {
                Log.Error("CreateFromMemoryImmediate失败:{0}", m_strResName);
                OnFinish();
                return;
            }

            // 资源加载完成处理
            OnLoaded(ab);

            ab.Unload(false);
            ab         = null;
            m_FileBuff = null;

            OnFinish();
        }
Пример #2
0
 /// <summary>
 /// 加载完毕处理
 /// </summary>
 /// <returns></returns>
 virtual public void OnLoaded(AssetBundle ab)
 {
     m_eState = EResourceState.EResourceState_Complete;
 }