Esempio n. 1
0
        /// <summary>
        /// 初始化
        /// </summary>
        /// <param name="callback">初始化回调</param>
        /// <param name="assetDir">资源的根目录</param>
        internal void Initialize(Action <bool> callback, string assetDir)
        {
            initCallback = callback;
            assetRootDir = assetDir;

            State = AssetLoaderState.Initing;
        }
Esempio n. 2
0
 public void LoadAsset(string path, Action <UnityObject> callback)
 {
     m_State = AssetLoaderState.Loading;
     if (GameConst.GetInstance().m_AssetLoaderMode == AssetLoaderMode.AssetDatabase)
     {
         UnityObject obj = LoadAssetFromLocal(path, callback);
         m_State    = AssetLoaderState.Complete;
         m_Progress = 1;
         callback(obj);
     }
     else
     {
         m_asyncOperation = LoadAssetFromBuild(path, callback);
         m_State          = AssetLoaderState.Complete;
         m_Progress       = m_asyncOperation.progress;
     }
 }
Esempio n. 3
0
 /// <summary>
 /// 清理所有的资源
 /// </summary>
 internal virtual void DoDispose()
 {
     while (dataWaitingQueue.Count > 0)
     {
         var loaderData = dataWaitingQueue.Dequeue();
         dataPool.Release(loaderData);
     }
     for (int i = dataLoadingList.Count - 1; i >= 0; --i)
     {
         var loaderData = dataLoadingList[i];
         dataLoadingList.RemoveAt(i);
         dataPool.Release(loaderData);
     }
     dataPool.Clear();
     operations.Clear();
     assetNodeDic.Clear();
     State         = AssetLoaderState.None;
     initCallback  = null;
     addressConfig = null;
 }