/// <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);
        }
Esempio n. 2
0
    public IAssetRequest LoadAudio(string url, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType)
    {
        if (string.IsNullOrEmpty(url))
        {
            Debug.LogError("string.IsNullOrEmpty(url) == true");
            return(null);
        }
        string text = string.Format("{0}/{1}", this.m_strBaseResDir, url);

        try
        {
            if (!Path.HasExtension(text))
            {
                text = Path.ChangeExtension(text, ".mp3");
            }
        }
        catch (Exception ex)
        {
            XLog.Log.Fatal(ex.Message);
        }
        text = GameResourceManager.StandardlizePath(text);
        GameAssetResource assetResource = this.GetAssetResource(text, assetPRIType, true);

        return(new GameAssetRequest(assetResource, callBackFun));
    }
Esempio n. 3
0
        /// <summary>
        /// 暂停0.01秒之后执行委托
        /// </summary>
        /// <param name="eventHandler"></param>
        /// <param name="request"></param>
        /// <returns></returns>
        private IEnumerator DelayCallBack(AssetRequestFinishedEventHandler eventHandler, IAssetRequest request)
        {
            yield return(new WaitForSeconds(0.01f));

            this.m_isFinished = true;
            eventHandler(request);
            yield break;
        }
Esempio n. 4
0
 public IAssetRequest LoadResAsyn(string url, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType)
 {
     if (this.m_loadResAsynEventHandler != null)
     {
         return(this.m_loadResAsynEventHandler(url, callBackFun, assetPRIType));
     }
     Debug.LogError("null == m_loadUIAsynEventHandler");
     return(null);
 }
Esempio n. 5
0
    public IAssetRequest LoadScene(string url, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType)
    {
        if (string.IsNullOrEmpty(url))
        {
            Debug.LogError("string.IsNullOrEmpty(url) == true");
            return(null);
        }
        string            url2          = string.Format("{0}/{1}.unity3d", this.m_strBaseResDir, url);
        GameAssetResource assetResource = this.GetAssetResource(url2, assetPRIType, true);

        return(new GameAssetRequest(assetResource, callBackFun));
    }
Esempio n. 6
0
    public IAssetRequest CreateAssetRequest(string assetUrl, List <string> dependes, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType, EnumAssetType eAssetType)
    {
        if (string.IsNullOrEmpty(assetUrl))
        {
            Debug.LogError("string.IsNullOrEmpty(assetUrl) == true");
            return(null);
        }
        assetUrl = string.Format("{0}/{1}", this.m_strBaseResDir, assetUrl);

        assetUrl = GameResourceManager.StandardlizePath(assetUrl);
        GameAssetResource assetResource = this.GetAssetResource(assetUrl, assetPRIType, true);

        return(new GameAssetRequest(assetResource, callBackFun));
    }
Esempio n. 7
0
    public IAssetRequest LoadTexture(string url, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType)
    {
        if (string.IsNullOrEmpty(url))
        {
            Debug.LogError("string.IsNullOrEmpty(url) == true");
            return(null);
        }
        string text = string.Format("{0}/{1}.jpg", this.m_strBaseResDir, url);

        text = GameResourceManager.StandardlizePath(text);
        GameAssetResource assetResource = this.GetAssetResource(text, assetPRIType, true);

        return(new GameAssetRequest(assetResource, callBackFun));
    }
Esempio n. 8
0
 protected void Dispose(bool value)
 {
     if (this.m_isDispose)
     {
         return;
     }
     if (value || this.m_assetCollectDepResource != null)
     {
         Debug.Log("AssetRequest Dispose");
         this.m_assetCollectDepResource.RemoveAssetRequest(this);
         this.m_assetCollectDepResource = null;
         this.handler = null;
     }
     this.m_isDispose = true;
 }
    public IAssetRequest LoadAtlas(string url, AssetRequestFinishedEventHandler callBackFun)
    {
        if (string.IsNullOrEmpty(url))
        {
            Debug.LogError("string.IsNullOrEmpty(url) == true");
            return(null);
        }
        string text = string.Format("{0}/{1}", this.m_strBaseResDir, url);

        text = Path.ChangeExtension(text, ".prefab");
        text = GameResourceManager.StandardlizePath(text);
        GameAssetResource assetResource = this.GetAssetResource(text, true);

        return(new GameAssetRequest(assetResource, callBackFun));
    }
        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));
        }
Esempio n. 11
0
 public GameAssetRequest(GameAssetResource assetResource, AssetRequestFinishedEventHandler eventHandler)
 {
     if (assetResource == null)
     {
         this.m_bIsError = true;
         return;
     }
     this.m_localAssetResource = assetResource;
     this.m_localAssetResource.AddRef(this);
     this.m_eventHandlerAssetRequestFinished = eventHandler;
     if (eventHandler != null && this.m_localAssetResource.HasCallBacked)
     {
         GameResourceManager.Instance.StartCoroutine(this.DelayCallBack(eventHandler, this));
     }
 }
Esempio n. 12
0
 protected void Dispose(bool disposing)
 {
     if (this.m_bDisposed)
     {
         return;
     }
     if (disposing)
     {
         if (this.m_localAssetResource != null)
         {
             this.m_localAssetResource.DelRef(this);
             this.m_localAssetResource = null;
         }
         this.m_eventHandlerAssetRequestFinished = null;
     }
     this.m_bDisposed = true;
 }
Esempio n. 13
0
        /// <summary>
        /// 构造函数,初始化需要下载的资源和下载完成之后的委托回调
        /// </summary>
        /// <param name="assetCollectDepResource"></param>
        /// <param name="handler"></param>
        public LocalAssetRequest(IAssetCollectDepResource assetCollectDepResource, AssetRequestFinishedEventHandler handler)
        {
            LocalAssetCollectDepResource colldepResource = assetCollectDepResource as LocalAssetCollectDepResource;

            if (colldepResource == null || colldepResource.GetAssetResource() == null)
            {
                this.m_isErroe = true;
                return;
            }
            this.handler = handler;
            this.m_assetCollectDepResource = colldepResource;
            this.m_assetCollectDepResource.AddAssetRequest(this);
            if (handler != null && this.m_assetCollectDepResource.HasCallBack())
            {
                LocalResourceManager.GetInstance().StartCoroutine(this.DelayCallBack(handler, this));
            }
        }
        public IAssetRequest LoadEffect(string relativeUrl, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType)
        {
            if (this.m_resourceManager == null)
            {
                AssetLogger.Error("null == m_resourceManager");
                return(null);
            }
            IAssetRequest result = null;

            try
            {
                result = this.m_resourceManager.LoadEffect(relativeUrl, callBackFun, assetPRIType);
            }
            catch (Exception ex)
            {
                AssetLogger.Fatal(ex.ToString());
            }
            return(result);
        }
        public IAssetRequest CreateAssetRequest(string strCompleteUrl, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType, EnumAssetType eAssetType)
        {
            if (this.m_resourceManager == null)
            {
                AssetLogger.Error("null == m_resourceManager");
                return(null);
            }
            IAssetRequest result = null;

            try
            {
                result = this.m_resourceManager.CreateAssetRequest(strCompleteUrl, callBackFun, assetPRIType, eAssetType);
            }
            catch (Exception ex)
            {
                AssetLogger.Fatal(ex.ToString());
            }
            return(result);
        }
        /// <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 CreateAssetRequest(string strCompleteUrl, AssetRequestFinishedEventHandler callBackFun)
        {
            if (this.m_resourceManager == null)
            {
                Debug.LogError("null == m_resourceManager");
                return(null);
            }
            IAssetRequest result = null;

            try
            {
                result = this.m_resourceManager.CreateAssetRequest(strCompleteUrl, callBackFun);
            }
            catch (Exception ex)
            {
                Debug.LogException(ex);
            }
            return(result);
        }
        public IAssetRequest LoadTexture(string relativeUrl, AssetRequestFinishedEventHandler callBackFun)
        {
            if (this.m_resourceManager == null)
            {
                Debug.LogError("null == m_resourceManager");
                return(null);
            }
            IAssetRequest result = null;

            try
            {
                result = this.m_resourceManager.LoadTexture(relativeUrl, callBackFun);
            }
            catch (Exception ex)
            {
                Debug.LogException(ex);
            }
            return(result);
        }
        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);
        }
        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);
        }
        public IAssetRequest LoadScene(string relativeUrl, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType)
        {
            IAssetRequest result;

            if (null == this.m_resourceManager)
            {
                AssetLogger.Error("null == m_resourceManager");
                result = null;
            }
            else
            {
                IAssetRequest assetRequest = null;
                try
                {
                    assetRequest = this.m_resourceManager.LoadScene(relativeUrl, callBackFun, assetPRIType);
                }
                catch (Exception ex)
                {
                    AssetLogger.Fatal(ex.ToString());
                }
                result = assetRequest;
            }
            return(result);
        }
        public IAssetRequest LoadScene(string relativeUrl, AssetRequestFinishedEventHandler callBackFun)
        {
            IAssetRequest result;

            if (null == this.m_resourceManager)
            {
                Debug.LogError("null == m_resourceManager");
                result = null;
            }
            else
            {
                IAssetRequest assetRequest = null;
                try
                {
                    assetRequest = this.m_resourceManager.LoadScene(relativeUrl, callBackFun);
                }
                catch (Exception ex)
                {
                    Debug.LogException(ex);
                }
                result = assetRequest;
            }
            return(result);
        }
 public IAssetRequest CreateAssetRequest(string url, AssetRequestFinishedEventHandler callBackFun)
 {
     return(this.CreateAssetRequest(url, null, callBackFun));
 }
        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 IAssetRequest CreateAssetRequest(string path, AssetRequestFinishedEventHandler callback, AssetPRI assetPRI)
 {
     return(this.CreateAssetRequest(path, callback, assetPRI, EnumAssetType.eAssetType_AssetBundlePrefab));
 }
Esempio n. 26
0
 public IAssetRequest CreateAssetRequest(string url, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType, EnumAssetType eAssetType)
 {
     return(this.CreateAssetRequest(url, null, callBackFun, assetPRIType, eAssetType));
 }