Esempio n. 1
0
 public void DelRef(GameAssetRequest assetRequest)
 {
     if (!this.m_listAssetRequest.Remove(assetRequest))
     {
         AssetLogger.Error("false == m_listAssetRequest.Remove(assetRequest):");
     }
 }
        /// <summary>
        /// 本地资源加载完成之后处理
        /// </summary>
        public void OnLoaded()
        {
            if (this.m_assetType <= EnumAssetType.eAssetType_AssetBundleFont || this.m_assetType == EnumAssetType.eAssetType_Scene)
            {
                if (this.m_www != null)
                {
                    this.m_AssetBunle = this.m_www.assetBundle;
                    this.m_www.Dispose();
                    this.m_www = null;
                }
            }
            TimeSpan timeSpan = DateTime.Now - this.m_dataBeginLoadTime;

            try
            {
                if (!this.m_bHasCallBacked)
                {
                    this.m_bHasCallBacked = true;
                    if (this.GetLoadFinishedHandler() != null)
                    {
                        this.GetLoadFinishedHandler()(this);
                    }
                }
            }
            catch (Exception e)
            {
                AssetLogger.Fatal(e.ToString());
            }
        }
        /// <summary>
        /// 加载主资源MainAsset
        /// </summary>
        public void LoadMainAsset()
        {
            try
            {
                if (this.IsDone && this.m_AssetBunle != null)       //如果assetbundle已经加载完成
                {
                    this.m_MainAsset = this.m_AssetBunle.mainAsset; //取得assetbundle的主资源
                    Debug.Log(this.m_MainAsset.name);

                    /*if (!this.m_MainAsset.name.Contains("Backdrop") && !this.m_MainAsset.name.Contains("Fantasy Atlast") && !this.m_MainAsset.name.Contains("msyha") && !this.m_MainAsset.name.Contains("Fantasy Atlasm") && !this.m_MainAsset.name.Contains("Unlit/Transparent Colored"))
                     * {
                     *  GameObject a = (GameObject)UnityEngine.Object.Instantiate(this.m_MainAsset);
                     * }
                     */
                }
            }
            catch (OutOfMemoryException ex2)
            {
                AssetLogger.Fatal(ex2.ToString());
                Resources.UnloadUnusedAssets();
                GC.Collect();
            }
            catch (Exception ex1)
            {
                AssetLogger.Fatal("AssetEx LoadAll Exception: " + ex1.ToString());
            }
        }
        /// <summary>
        /// 初始化资源配置信息管理器,默认为UI和Effect特效资源
        /// </summary>
        public void Init(string strBaseResDir, string strBaseResWWWDir)
        {
            Resources.UnloadUnusedAssets();
            string path1 = ResourceManager.GetFullPath("data/ui.config", false);

            if (!this.InitUIResourceData(path1))
            {
                AssetLogger.Error(string.Format("false == InitUI(strUIConfig):{0}", path1));
            }

            /*string path2 = ResourceManager.GetFullPath("data/effect.config", false);
             * if (!this.InitEffectResourceData(path2))
             * {
             *  AssetLogger.Error(string.Format("false == InitEffect(strEffectConfig):{0}", path2));
             * }*/
            string path3 = ResourceManager.GetFullPath("data/atlas.config", false);

            if (!this.InitAtlasResourceData(path3))
            {
                AssetLogger.Error(string.Format("false == InitAtlas(strAtlasConfig):{0}", path3));
            }

            /*
             * string path4 = ResourceManager.GetFullPath("data/model.config", false);
             * if (!this.InitModelResourceData(path4))
             * {
             *  AssetLogger.Error(string.Format("false == InitModel(strModelConfig):{0}", path4));
             * }
             * */
        }
Esempio n. 5
0
    static void Main()
    {
        // Создаем нового юзера, в котором будет храниться информация о всевозможных угроз и активах
        User u = new User();

        // Берем уже созданные заранее  активы
        List <Asset> assets = AssetTests.GetFirstTest();

        // Копируем их в новый список для юзера
        u.CopyAssets(assets);
        // Нормализуем их по значению
        u.NormalizeAssets();

        // Берем уже созданные заранее угрозы
        var threats = ThreatTests.GetFirstThreats(u);

        // Копируем их в новый список для юзера
        u.CopyThreats(threats);

        // Выводим информацию о всех активах
        AssetLogger.LogAssets(u);
        LogString();
        // Выводим информацию о всех угрозах
        ThreatLogger.LogThreats(u);



        Console.ReadKey();
    }
        /// <summary>
        /// 加载模型资源
        /// </summary>
        /// <param name="path">Data/Model/HeroModel/{0}</param>
        /// <param name="callBackFun"></param>
        /// <param name="assetPRIType"></param>
        /// <returns></returns>
        public IAssetRequest LoadModel(string path, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType)
        {
            IAssetRequest result;

            if (string.IsNullOrEmpty(path))
            {
                AssetLogger.Error("string.IsNullOrEmpty(path) == true");
                result = null;
            }
            else
            {
                string                 name                   = LocalResourceManager.ChangePathToFilenameWithoutExtension(path);
                ResourceData           resourceData           = null;
                List <ResourceData>    dependes               = null;
                CollectDepResourceData collectDepResourceData = this.m_DicModelResourceData.GetCollectDepResourceData(name, out resourceData, out dependes);
                if (null != collectDepResourceData)
                {
                    result = this.CreateAssetRequest(resourceData, dependes, callBackFun, assetPRIType);
                }
                else
                {
                    AssetLogger.Error(string.Format("null == collectDepResourceData:{0}", path));
                    result = null;
                }
            }
            return(result);
        }
 public void RemoveAssetRequest(LocalAssetRequest request)
 {
     if (!this.m_listAssetRequest.Remove(request))
     {
         AssetLogger.Error("false == m_listAssetRequest.Remove(assetRequest):");
     }
 }
 /// <summary>
 /// 打印出错资源的信息
 /// </summary>
 public void DebugError()
 {
     foreach (var current in this.m_listErrorAsset)
     {
         AssetLogger.Error(current.URL + "has some error:" + current.Error);
     }
 }
 public void DelRef()
 {
     this.m_RefCount--;
     if (0 >= this.m_RefCount)
     {
         this.m_RefCount = 0;
     }
     AssetLogger.Debug(string.Format("DelRef[{0}]:{1}", this.m_RefCount, this.URL));
 }
 /// <summary>
 /// 设置引用资源的数目,初始化depAssetResource[]数组
 /// </summary>
 /// <param name="length"></param>
 public void SetDepSize(int length)
 {
     if (length > 0)
     {
         if (this.m_depAssetResources != null)
         {
             AssetLogger.Error("this.m_depAssetResource != null");
         }
         this.m_depAssetResources = new LocalAssetResource[length];
     }
 }
 /// <summary>
 /// 设置当前资源,初始化assetResource
 /// </summary>
 /// <param name="assetSO"></param>
 public void SetAsset(IAssetResource assetSO)
 {
     if (this.m_assetResource != null)
     {
         AssetLogger.Error(string.Format("null != m_assetResource:{0}", this.GetAssetResourceStates()));
         return;
     }
     if (assetSO != null)
     {
         this.m_assetResource = assetSO as LocalAssetResource;
         this.m_assetResource.AddRef();
     }
 }
 /// <summary>
 /// 释放已经加载的资源
 /// </summary>
 /// <param name="value"></param>
 protected void Dispose(bool value)
 {
     //如果已经释放了,就说明也不做
     if (this.m_isDispose)
     {
         return;
     }
     if (value)
     {
         LocalAssetResource.s_hashSetAssetURL.Remove(this.URL);
         string text = Path.GetFileName(this.URL.ToLower());      //取得指定url路径的文件名+后缀名
         if (!LocalAssetResource.s_hashSetAssetName.Remove(text)) //移除失败
         {
             AssetLogger.Error("s_hashSetAssetName.Remove(strAssetName) == false: " + text);
         }
         if (this.m_AssetBunle != null)
         {
             if (LocalAssetResource.m_dicAllAssetResource.ContainsKey(this.m_url))
             {
                 LocalAssetResource.m_dicAllAssetResource.Remove(this.m_url);
             }
             Debug.Log("Assetbundle卸载完全");
             this.m_AssetBunle.Unload(true);                             //卸载assetbundle上所有的资源
             this.m_AssetBunle = null;
             this.m_MainAsset  = null;                                   //设置MainAsset为null,过段时间会被回收
             AssetLogger.Debug(string.Format("Unload:[{0}]", this.URL)); //卸载成功
         }
         else
         {
             if (this.m_MainAsset != null)
             {
                 if (this.m_MainAsset is GameObject || this.m_MainAsset is Component)
                 {
                     UnityEngine.Object.DestroyImmediate(this.m_MainAsset, true);
                 }
             }
             else
             {
                 Resources.UnloadAsset(this.m_MainAsset);
             }
             this.m_MainAsset = null;
         }
         if (this.m_www != null)
         {
             this.m_www.Dispose();//释放www的资源
             this.m_www = null;
         }
         this.m_bCancel = true;
     }
     this.m_isDispose = true;//设置释放成功
 }
        public IAssetRequest CreateAssetRequest(string path, AssetRequestFinishedEventHandler callback, AssetPRI assetPRI, EnumAssetType assetType)
        {
            if (string.IsNullOrEmpty(path))
            {
                AssetLogger.Error("string.IsNullOrEmpty(path) == true");
                return(null);
            }
            string arg  = Path.GetDirectoryName(path).ToLower();
            string text = LocalResourceManager.ChangePathToFilenameWithoutExtension(path);

            path = string.Format("data/{0}/{1}.ab", arg, text);
            ResourceData resourceData = CollectDepResourceDataMap.RefResource(text, path, 0, assetType);

            return(this.CreateAssetRequest(resourceData, null, callback, assetPRI));
        }
 /// <summary>
 /// 初始化模型资源,从Json读取数据转成CollectDepResourceDataMap类型实例,并初始化
 /// </summary>
 /// <param name="path"></param>
 /// <returns></returns>
 private bool InitModelResourceData(string path)
 {
     using (StreamReader streamReader = new StreamReader(path, Encoding.UTF8))
     {
         JsonReader reader = new JsonReader(streamReader);
         this.m_DicModelResourceData = JsonMapper.ToObject <CollectDepResourceDataMap>(reader);
     }
     if (this.m_DicModelResourceData == null)
     {
         AssetLogger.Error("null == m_dicModelResourceData");
         this.m_DicModelResourceData = new CollectDepResourceDataMap();
         return(false);
     }
     CollectDepResourceDataMap.AddResourceDatas(this.m_DicModelResourceData.mDicResourceData);
     this.m_DicModelResourceData.mDicResourceData.Clear();
     return(true);
 }
Esempio n. 15
0
        /// <summary>
        /// Sets recursively the <see cref="Module"/>.
        /// </summary>
        /// <param name="buildStep">The build step.</param>
        /// <param name="assetReference"></param>
        /// <param name="assetFullPath"></param>
        private void SetAssetLogger(BuildStep buildStep, Package package, IReference assetReference, string assetFullPath)
        {
            if (buildStep.TransformExecuteContextLogger == null)
            {
                buildStep.TransformExecuteContextLogger = (ref Logger logger) => logger = new AssetLogger(package, assetReference, assetFullPath, logger);
            }

            var enumerableBuildStep = buildStep as ListBuildStep;

            if (enumerableBuildStep != null && enumerableBuildStep.Steps != null)
            {
                foreach (var child in enumerableBuildStep.Steps)
                {
                    SetAssetLogger(child, package, assetReference, assetFullPath);
                }
            }
        }
Esempio n. 16
0
    public static void Init()
    {
        string fullPath = ResourceManager.GetFullPath("localLog.txt", false);

        Logger.Init(fullPath);
        if (Application.platform == RuntimePlatform.WindowsEditor || Application.platform == RuntimePlatform.OSXEditor)
        {
            Logger.IsInEditor = true;
        }
        else
        {
            Logger.IsInEditor = false;
        }
        AssetLogger.Init(new Logger("AssetLogger"));
        AssetLogger.LogLevel = UnityAssetEx.Export.EnumLogLevel.eLogLevel_Error;
        EffectLogger.Init(new Logger("EffectLogger"));
        EffectLogger.LogLevel = Effect.Export.EnumLogLevel.eLogLevel_Error;
    }
        public IAssetRequest LoadEffect(string path, AssetRequestFinishedEventHandler callback, AssetPRI assetPRI)
        {
            if (string.IsNullOrEmpty(path))
            {
                AssetLogger.Error("string.IsNullOrEmpty(path) == true");
                return(null);
            }
            string                 name                   = LocalResourceManager.ChangePathToFilenameWithoutExtension(path);
            ResourceData           resourceData           = null;
            List <ResourceData>    list                   = null;
            CollectDepResourceData collectDepResourceData = this.m_DicEffectReourceData.GetCollectDepResourceData(name, out resourceData, out list);

            if (collectDepResourceData != null)
            {
                return(this.CreateAssetRequest(resourceData, list, callback, assetPRI));
            }
            AssetLogger.Error(string.Format("null == collectDepResourceData:{0}", path));
            return(null);
        }
        /// <summary>
        /// 加载UI资源
        /// </summary>
        /// <param name="path"></param>
        /// <param name="callback"></param>
        /// <param name="assetPRI"></param>
        /// <returns></returns>
        public IAssetRequest LoadUI(string path, AssetRequestFinishedEventHandler callback, AssetPRI assetPRI)
        {
            if (string.IsNullOrEmpty(path))
            {
                AssetLogger.Error("string.IsNullOrEmpty(path) == true");
                return(null);
            }
            string                 text                   = LocalResourceManager.ChangePathToFilenameWithoutExtension(path);//路径转成文件名不带后缀
            ResourceData           resourceData           = null;
            List <ResourceData>    dependes               = null;
            CollectDepResourceData collectDepResourceData = this.m_DicUIResourceData.GetCollectDepResourceData(text, out resourceData, out dependes);

            if (collectDepResourceData != null)
            {
                return(this.CreateAssetRequest(resourceData, dependes, callback, assetPRI));//创建请求资源实例
            }
            AssetLogger.Error(string.Format("null == collectDepResourceData:{0}", text));
            return(null);
        }
        public IAssetRequest LoadScene(string path, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType)
        {
            IAssetRequest result;

            if (string.IsNullOrEmpty(path))
            {
                AssetLogger.Error("string.IsNullOrEmpty(path) == true");
                result = null;
            }
            else
            {
                string directoryName = Path.GetDirectoryName(path);
                string text          = LocalResourceManager.ChangePathToFilenameWithoutExtension(path);
                path = string.Format("data/{0}/{1}.unity3d", directoryName, text);
                ResourceData resourceData = CollectDepResourceDataMap.RefResource(text, path, 0, EnumAssetType.eAssetType_Scene);
                result = this.CreateAssetRequest(resourceData, null, callBackFun, assetPRIType);
            }
            return(result);
        }
 /// <summary>
 /// 主要初始化url,resourceData,isfinished=false
 /// </summary>
 /// <param name="data"></param>
 public LocalAssetResource(ResourceData data)
 {
     if (data == null)
     {
         AssetLogger.Error("null == resourceData");
     }
     this.m_resourceData = data;
     if (this.m_resourceData != null)
     {
         if (this.m_resourceData.mPath.EndsWith(".unity3d"))
         {
             this.m_url = ResourceManager.GetFullPath(this.m_resourceData.mPath, true);
         }
         else
         {
             this.m_url = ResourceManager.GetFullPath(this.m_resourceData.mPath, false);
         }
     }
     this.m_bCancel = false;
 }
        public IAssetRequest CreateAssetRequest(ResourceData resourceData, List <ResourceData> depResourceList, AssetRequestFinishedEventHandler callback, AssetPRI assetPRI)
        {
            if (resourceData == null)
            {
                return(null);
            }
            AssetLogger.Debug("CreateAssetRequest:" + resourceData.mResourceName);
            if (string.IsNullOrEmpty(resourceData.mPath))
            {
                return(null);
            }
            LocalAssetCollectDepResource depResource = null;

            if (this.m_dicAssetCollectDepResource.TryGetValue(resourceData.mPath, out depResource))
            {
                return(new LocalAssetRequest(depResource, callback));
            }
            depResource     = LocalAssetCollectDepResource.Create();
            depResource.URL = resourceData.mPath;
            this.m_dicAssetCollectDepResource.Add(depResource.URL, depResource);
            if (depResourceList != null)
            {
                depResource.SetDepSize(depResourceList.Count);//初始化depAssetResource[],引用资源的数组
                for (int i = 0; i < depResourceList.Count; i++)
                {
                    ResourceData resourceData2 = depResourceList[i];
                    Debug.Log(resourceData2.mResourceName);
                    LocalAssetResource assetResource = this.CreateAssetResource(resourceData2, new AssetLoadFinishedEventHandler(depResource.AssetComplete), assetPRI);
                    depResource.AddDep(assetResource, i);//赋值depAssetResource[]
                    Debug.Log(assetResource == null);
                }
            }
            LocalAssetResource asset = this.CreateAssetResource(resourceData, new AssetLoadFinishedEventHandler(depResource.AssetComplete), assetPRI);

            depResource.SetAsset(asset);
            depResource.EndCreate();
            return(new LocalAssetRequest(depResource, callback));
        }
        public void DetectComplete()
        {
            if (!this.m_HasCallBack && this.DetectAllHasFinished())
            {
                if (this.m_assetResource != null)
                {
                    AssetLogger.Debug("Asset: DetectComplete:" + this.m_assetResource.URL);
                }
                else
                {
                    AssetLogger.Error("Asset: DetectComplete: null == m_assetResource");
                }
                this.m_HasCallBack = true; //设置加载完成
                this.DebugError();         //打印出出错的资源
                this.LoadMainAsset();

                /*Debug.Log("Main:" + this.m_assetResource.MainAsset);
                 * for (int j = 0; j < this.m_depAssetResources.Length; j++)
                 * {
                 *  Debug.Log("dep:" + this.m_depAssetResources[j].MainAsset);
                 * }
                 */
                try
                {
                    for (int i = 0; i < this.m_listAssetRequest.Count; i++)
                    {
                        LocalAssetRequest request = this.m_listAssetRequest[i];
                        request.OnAssetRequestFinishedHandler(this.m_assetResource);//执行资源加载完成之后的委托
                    }
                }
                catch (Exception e)
                {
                    AssetLogger.Fatal(e.ToString());
                }
                this.UnloadAssetBundle();
            }
        }
        /// <summary>
        /// Sets recursively the <see cref="BuildStep.Module"/>.
        /// </summary>
        /// <param name="buildStep">The build step.</param>
        /// <param name="module">The module.</param>
        private void SetAssetLogger(BuildStep buildStep, Package package, IReference assetReference, string assetFullPath)
        {
            if (buildStep.TransformExecuteContextLogger == null)
                buildStep.TransformExecuteContextLogger = (ref Logger logger) => logger = new AssetLogger(package, assetReference, assetFullPath, logger);

            var enumerableBuildStep = buildStep as EnumerableBuildStep;
            if (enumerableBuildStep != null && enumerableBuildStep.Steps != null)
            {
                foreach (var child in enumerableBuildStep.Steps)
                {
                    SetAssetLogger(child, package, assetReference, assetFullPath);
                }
            }
        }
 /// <summary>
 /// 增加被引用次数
 /// </summary>
 public void AddRef()
 {
     this.m_RefCount++;
     AssetLogger.Debug(string.Format("AddRef[{0}]:{1}", this.m_RefCount, this.URL));
 }
        public void OnUpdate()
        {
            if (!this.UnLoadNotUsedResource() && this.m_allUnLoadFinishedEventHandler != null)
            {
                GC.Collect();
                Resources.UnloadUnusedAssets();
                Action <bool> allUnLoadFinishedEventHandler = this.m_allUnLoadFinishedEventHandler;
                this.m_allUnLoadFinishedEventHandler = null;
                allUnLoadFinishedEventHandler(true);
            }
            LinkedListNode <LocalAssetResource> next;

            for (LinkedListNode <LocalAssetResource> linkedListNode = this.m_linkedListAssetResourceInLoading.First; linkedListNode != null; linkedListNode = next)
            {
                next = linkedListNode.Next;
                LocalAssetResource value = linkedListNode.Value;
                if (value.IsDone)//已经加载完成
                {
                    Debug.Log(value.URL + "已经下载过了");
                    if (!string.IsNullOrEmpty(value.Error))//如果加载没错的话
                    {
                        this.m_bLoadError = true;
                        AssetLogger.Error(value.Error);
                    }
                    if (this.m_allLoadFinishedEventHandler != null)
                    {
                        this.m_current += value.Size;
                    }
                    this.m_linkedListAssetResourceInLoading.Remove(linkedListNode);
                    value.OnLoaded();
                }
                else //还没有加载
                {
                    if (value.Canceled)//如果已经取消就从链表中移除
                    {
                        Debug.Log("取消下载:" + value.URL);
                        this.m_linkedListAssetResourceInLoading.Remove(linkedListNode);
                    }
                    else
                    {
                        if (!value.Started)
                        {
                            Debug.Log(value.URL + "开始下载");
                            value.BeginDownload();
                        }
                    }
                }
            }
            //如果平台是手机的话,就处理1个,不是的话处理5个
            int dealCount = Application.isMobilePlatform ? 1 : 10;

            if (this.m_linkedListNeedToLoad.Count > 0 && this.m_linkedListAssetResourceInLoading.Count < dealCount)//保持一次处理5个asset
            {
                Debug.Log(this.m_linkedListNeedToLoad.Count);
                LocalAssetResource value2 = this.m_linkedListNeedToLoad.First.Value;
                this.m_linkedListNeedToLoad.RemoveFirst();
                Debug.Log("AddLast:" + value2.URL);
                this.m_linkedListAssetResourceInLoading.AddLast(value2);
            }
            //如果没有加载任务了,就表示完成执行完成回调函数
            if (this.m_linkedListNeedToLoad.Count == 0 && this.m_linkedListAssetResourceInLoading.Count == 0 && this.m_allLoadFinishedEventHandler != null)
            {
                Action <bool> allLoadFinishedEventHandler = this.m_allLoadFinishedEventHandler;
                this.m_allLoadFinishedEventHandler = null;
                try
                {
                    allLoadFinishedEventHandler(!this.m_bLoadError);
                }
                catch (Exception e)
                {
                    AssetLogger.Fatal(e.ToString());
                }
                this.m_total   = 0;
                this.m_current = 0;
            }
        }
 /// <summary>
 /// 开始加载assetbundle,通过本地url从内存中加载
 /// </summary>
 public void BeginDownload()
 {
     this.m_dataBeginLoadTime = DateTime.Now;
     try
     {
         AssetLogger.Debug("BeginDownLoad:" + this.URL);
         this.m_isBeginDownload = true;
         if (LocalAssetResource.s_hashSetAssetURL.Contains(this.URL))//已经加载过了
         {
             AssetLogger.Error("s_hashSet.Contains(m_strAssetUrl) == true: " + this.URL);
             this.m_isDone = true;
         }
         else
         {
             string text = Path.GetFileName(this.URL).ToLower();                                              //取得要加载的资源名(小写)
             if (!LocalAssetResource.s_hashSetAssetName.Add(text))                                            //添加资源名到资源名集合中
             {
                 AssetLogger.Error(string.Format("s_hashSetAssetName.Add(strAssetName) == false:{0}", text)); //添加失败
             }
             if (!this.m_url.EndsWith(".unity3d"))
             {
                 string text2 = this.URL;
                 if (this.URL.IndexOf("file:///") == 0)
                 {
                     text2 = this.URL.Substring(8);
                 }
                 FileInfo fileInfo = new FileInfo(text2);
                 if (fileInfo.Exists)
                 {
                     /*FileStream fileStream = fileInfo.OpenRead();//打开文件流
                      * Debug.Log("doload"+fileStream.Length);
                      * byte[] array = new byte[fileStream.Length];
                      * fileStream.Read(array, 0, (int)fileStream.Length);//读取资源
                      * fileStream.Close();
                      * this.m_AssetBunle = AssetBundle.CreateFromMemoryImmediate(array);//从内存中创建assetbundleCreateRequest,这个比较占内存,虽然是异步的
                      */
                     this.m_AssetBunle = AssetBundle.CreateFromFile(text2);
                     if (!LocalAssetResource.m_dicAllAssetResource.ContainsKey(this.m_url))
                     {
                         LocalAssetResource.m_dicAllAssetResource.Add(this.m_url, this);
                         if (LocalAssetResource.m_dicAllAssetResource.Count == 200)
                         {
                             AssetLogger.Debug(string.Format("AssetBundle count Exceed 200, it is dangerous!", new object[0]));
                         }
                     }
                     this.m_isDone = true;
                 }
                 else
                 {
                     //不存在文件资源,报错
                     AssetLogger.Error(string.Format("fileInfo.Exists == false:{0}", text2));
                     this.m_isDone = true;
                 }
             }
             else
             {
                 //如果平台不是windows,那么就用www来加载资源
                 AssetLogger.Debug("Scene: BeginDownLoad:" + this.URL);
                 this.m_www = new WWW(this.URL);
             }
             LocalAssetResource.s_hashSetAssetURL.Add(this.URL);//加载完成之后,把资源的url添加到url集合中
         }
     }
     catch (Exception e)
     {
         AssetLogger.Fatal(e.ToString());
         this.m_isDone = true;
     }
 }