Example #1
0
 /// <summary>
 /// 根据路径加载后设置Texture
 /// </summary>
 /// <param name="strTextureFile"></param>
 public void SetTexture(string strTextureFile)
 {
     if (string.IsNullOrEmpty(strTextureFile))
     {
         return;
     }
     if (null != this.m_uiTexture && !this.m_strTextureFile.Equals(strTextureFile))
     {
         this.m_strTextureFile = strTextureFile;
         if (this.m_assetRequest != null)
         {
             if (this.m_assetRequest.IsFinished)
             {
                 if (this.m_assetRequestOld != null)
                 {
                     this.m_assetRequestOld.Dispose();
                     this.m_assetRequestOld = null;
                 }
                 this.m_assetRequestOld = this.m_assetRequest;
             }
             else
             {
                 this.m_assetRequest.Dispose();
             }
             this.m_assetRequest = null;
         }
         this.m_assetRequest = XUITool.Instance.LoadResAsyn(this.m_strTextureFile, new AssetRequestFinishedEventHandler(this.OnLoadTextureFinished), AssetPRI.DownloadPRI_Low);
     }
 }
Example #2
0
        public IEnumerator Load(IAssetRequest <Texture2D> assetRequest)
        {
            assetRequest.State = Progress.InProgress;

            if (loadedTextures.TryGetValue(assetRequest.Url, out Texture2D texture))
            {
                FARLogger.DebugFormat("Using already loaded texture {0}", assetRequest.Url);
                assetRequest.State = Progress.Completed;
                assetRequest.OnLoad(texture);
                yield break;
            }

            string path = $@"file:///{PathUtil.Combine(PathUtil.ParentDir, assetRequest.Url)}";

            FARLogger.DebugFormat("Loading texture from {0}", path);
            using UnityWebRequest request = UnityWebRequestTexture.GetTexture(path);
            yield return(request.SendWebRequest());

            if (!string.IsNullOrEmpty(request.error))
            {
                FARLogger.Error($"Error loading texture from {request.url}: {request.error}");
                assetRequest.State = Progress.Error;
                assetRequest.OnError();
            }
            else
            {
                FARLogger.DebugFormat("Texture loaded from from {0}", request.url);
                Texture2D content = DownloadHandlerTexture.GetContent(request);
                loadedTextures.Add(assetRequest.Url, content);
                assetRequest.State = Progress.Completed;
                assetRequest.OnLoad(content);
            }
        }
Example #3
0
    /// <summary>
    /// アセットバンドルからアセットをロード
    /// </summary>
    public void LoadAsset(string assetBundleName, string assetName, Action <UnityEngine.Object> onEnded = null)
    {
        // アセットバンドルロード
        LoadAssetBundle(assetBundleName, bundle => {
            // アセットロード
            string key        = string.Format("{0}/{1}", assetBundleName, assetName);
            IAssetRequest req = null;
            if (mAssetRequestList.TryGetValue(key, out req))
            {
                // 登録済み
                req.AddEndedRequest(onEnded);
                return;
            }
#if UNITY_EDITOR
            if (IsSimulationMode)
            {
                req = new RequestAssetForSimulateMode();
            }
#endif
            if (req == null)
            {
                req = new RequestAsset();
            }
            req.Start(bundle, assetBundleName, assetName, onEnded);
            mAssetRequestList[key] = req;
        });
    }
Example #4
0
    /// <summary>
    /// 根据路径取得资源设置IconTexture
    /// </summary>
    /// <param name="strTexture"></param>
    public void SetIconTexture(string strTexture)
    {
        if (null != this.m_uiTexture && !this.m_strTextureFile.Equals(strTexture))
        {
            this.m_strTextureFile = strTexture;
            if (this.m_assetRequest != null)
            {
                if (this.m_assetRequest.IsFinished)
                {
                    if (this.m_assetRequestOld != null)
                    {
                        this.m_assetRequestOld.Dispose();
                        this.m_assetRequestOld = null;
                    }
                    this.m_assetRequestOld = this.m_assetRequest;
                }
                else
                {
                    this.m_assetRequest.Dispose();
                }
                this.m_assetRequest = null;
            }
            this.m_assetRequest = XUITool.Instance.LoadResAsyn(this.m_strTextureFile, new AssetRequestFinishedEventHandler(this.OnLoadTextureFinished), AssetPRI.DownloadPRI_Low);
        }
        XUIPicture xUIPicture = this.GetUIObject("Texture_Icon") as XUIPicture;

        if (null != xUIPicture)
        {
            xUIPicture.SetTexture(strTexture);
        }
    }
Example #5
0
    private void OnLoadTextureFinished(IAssetRequest assetRequest)
    {
        if (null == assetRequest || null == assetRequest.AssetResource)
        {
            return;
        }
        //取得加载进来的图片
        Texture2D texture2D = assetRequest.AssetResource.MainAsset as Texture2D;

        if (texture2D != null)
        {
            this.CreateAtlasFromTex(new List <Texture2D>
            {
                texture2D
            });
            if (this.m_dicPrepareCallBack.ContainsKey(texture2D.name))
            {
                if (this.m_dicPrepareCallBack[texture2D.name] != null)
                {
                    try
                    {
                        this.m_dicPrepareCallBack[texture2D.name](this.AtlasName, texture2D.name, this.m_uiAtlas);
                    }
                    catch (Exception e)
                    {
                        Debug.LogException(e);
                    }
                }
                this.m_dicPrepareCallBack[texture2D.name] = null;
            }
        }
    }
Example #6
0
        private void OnLoadUIFinishedEventHandler(IAssetRequest assetRequest)
        {
            try
            {
                IAssetResource assetResource = assetRequest.AssetResource;
                GameObject     gameObject;
                if (assetResource != null && null != assetResource.MainAsset)
                {
                    UnityEngine.Object mainAsset = assetResource.MainAsset;

                    gameObject = (UnityEngine.Object.Instantiate(mainAsset) as GameObject);
                }
                else
                {
                    gameObject = new GameObject(this.fileName + "_NotFound");
                    this.m_log.Fatal(string.Format("null == assetResource: {0}", this.fileName));
                }
                if (null != gameObject)
                {
                    gameObject.name                    = this.fileName;
                    gameObject.transform.parent        = UIManager.singleton.UIRoot;
                    gameObject.transform.localPosition = new Vector3(-0.5f, 0.5f, 0f);
                    gameObject.transform.localScale    = new Vector3(1f, 1f, 1f);
                    TUIBehaviour tUIBehaviour = gameObject.AddComponent <TUIBehaviour>();//添加脚本
                    tUIBehaviour.ParentDlg = this;
                    this._Init(tUIBehaviour);
                }
            }
            catch (Exception ex)
            {
                this.m_log.Fatal(ex.ToString());
            }
        }
        public IEnumerator Load(IAssetRequest <Texture2D> assetRequest)
        {
            if (!GameDatabase.Instance.IsReady())
            {
                FARLogger.Warning("Trying to load textures before GameDatabase has been loaded");
                assetRequest.State = Progress.Error;
                assetRequest.OnError();
                yield break;
            }

            assetRequest.State = Progress.InProgress;
            try
            {
                FARLogger.DebugFormat("Getting texture {0} from GameDatabase", assetRequest.Url);
                Texture2D texture = GameDatabase.Instance.GetTexture(assetRequest.Url, false);
                assetRequest.State = Progress.Completed;
                assetRequest.OnLoad(texture);
            }
            catch (Exception e)
            {
                FARLogger.Exception(e, $"While loading texture {assetRequest.Url} from game database:");
                assetRequest.State = Progress.Error;
                assetRequest.OnError();
            }
        }
        /// <inheritdoc />
        public IEnumerator Load(IAssetRequest <T> assetRequest)
        {
            FARLogger.Assert(assetRequest.Url != null, "Request url cannot be null");
            assetRequest.State = Progress.InProgress;

            // make sure bundle is loaded
            if (BundleLoader.NeedsReload)
            {
                yield return(BundleLoader.Load());
            }

            // check for errors
            if (BundleLoader.State == Progress.Error)
            {
                FARLogger.ErrorFormat("Could not load asset bundle {0} for request {1}",
                                      BundleLoader.Url,
                                      assetRequest.Url);
                assetRequest.State = Progress.Error;
                assetRequest.OnError();
                yield break;
            }

            if (!BundleLoader.TryGetAsset(assetRequest.Url, out T asset))
            {
                FARLogger.ErrorFormat("Could not find asset {0} in bundle {1}", assetRequest.Url, BundleLoader.Url);
                assetRequest.State = Progress.Error;
                assetRequest.OnError();
                yield break;
            }

            assetRequest.State = Progress.Completed;
            assetRequest.OnLoad(asset);
        }
Example #9
0
 private void PrepareAtlas(string strAtlas, string strSprite)
 {
     //如果是动态图集的话
     if (strAtlas.StartsWith("Dynamic_", System.StringComparison.CurrentCultureIgnoreCase))
     {
         DynamicAtlasManager.Instance.AddRefCount(strAtlas, strSprite, new DynamicAtlasManager.PrepareAtlasCallBack(this.OnPrepareAtlas));
     }
     else
     {
         //如果不是动态图集的话
         if (this.m_assetRequestAtlas != null)
         {
             if (this.m_assetRequestAtlas.IsFinished)
             {
                 if (this.m_assetRequestAtlasOld != null)
                 {
                     this.m_assetRequestAtlasOld.Dispose();
                     this.m_assetRequestAtlasOld = null;
                 }
                 this.m_assetRequestAtlasOld = this.m_assetRequestAtlas;
             }
             else
             {
                 this.m_assetRequestAtlas.Dispose();
             }
             this.m_assetRequestAtlas = null;
         }
         this.m_assetRequestAtlas = ResourceManager.singleton.LoadAtlas(strAtlas, new AssetRequestFinishedEventHandler(this.OnLoadAtlasFinished), AssetPRI.DownloadPRI_Plain);
     }
 }
Example #10
0
    private IEnumerator DelayCallBack(AssetRequestFinishedEventHandler eventHandler, IAssetRequest assetRequest)
    {
        yield return(new WaitForSeconds(0.01f));

        this.m_bFinished = true;
        eventHandler(assetRequest);
        yield break;
    }
Example #11
0
 /// <summary>
 /// 卸载该模型,包括皮肤
 /// </summary>
 public void Unload()
 {
     if (null != this.m_gameObject)
     {
         SkinnedMeshRenderer component = this.m_gameObject.GetComponent <SkinnedMeshRenderer>();
         if (null != component)
         {
             //先卸载贴图
             if (null != component.material)
             {
                 if (null != component.material.mainTexture)
                 {
                     UnityEngine.Object.Destroy(component.material.mainTexture);
                 }
                 //再卸载材质
                 UnityEngine.Object.Destroy(component.material);
             }
             //再卸载多边形
             if (null != component.sharedMesh)
             {
                 UnityEngine.Object.Destroy(component.sharedMesh);
             }
         }
         //最后卸载GameObject
         UnityEngine.Object.Destroy(this.m_gameObject);
         this.m_gameObject = null;
     }
     //卸载之前下载的资源缓存
     if (null != this.m_assetRequestBaseModel)
     {
         this.m_assetRequestBaseModel.RemoveQuickly = true;
         this.m_assetRequestBaseModel.Dispose();
         this.m_assetRequestBaseModel = null;
     }
     if (null != this.m_assetRequestSuitModel)
     {
         this.m_assetRequestSuitModel.RemoveQuickly = true;
         this.m_assetRequestSuitModel.Dispose();
         this.m_assetRequestSuitModel = null;
     }
     //卸载所有该神兽拥有的皮肤贴图
     for (int i = 0; i < this.m_listAssetRequestSuitTexture.Count; i++)
     {
         IAssetRequest assetRequest = this.m_listAssetRequestSuitTexture[i];
         if (null != assetRequest)
         {
             assetRequest.RemoveQuickly = true;
             assetRequest.Dispose();
         }
     }
     this.m_listAssetRequestSuitTexture.Clear();
     this.m_unBeastTypeId    = 0;
     this.m_strBaseModelPath = string.Empty;
     this.m_nSuitId          = 0;
     this.m_callBackFinish   = null;
     this.m_bFinished        = false;
 }
Example #12
0
 /// <summary>
 /// 通过资源加载场景回调
 /// </summary>
 /// <param name="assetRequest"></param>
 public void OnLoadSceneAssetFinished(IAssetRequest assetRequest)
 {
     if (assetRequest != null && null != assetRequest.AssetResource)
     {
         this.m_sceneRequest = assetRequest;
         string strSceneName = Path.GetFileNameWithoutExtension(assetRequest.AssetResource.URL).Replace("scenes_", "");
         UnityGameEntry.Instance.StartCoroutine(this.loadScene(strSceneName));
     }
 }
Example #13
0
    /// <summary>
    /// 释放加载进来的精灵(IAssetRequest.Dispose())
    /// </summary>
    /// <param name="sprites"></param>
    private void ReleaseSprite(DynamicAtlas.SpriteEntry sprites)
    {
        sprites.Clear();
        IAssetRequest assetRequest = null;

        if (this.m_dicAssetRequestTexture.TryGetValue(sprites.spriteName, out assetRequest))
        {
            assetRequest.Dispose();
            this.m_dicAssetRequestTexture.Remove(sprites.spriteName);
        }
    }
Example #14
0
 /// <summary>
 /// 创建模型,根据模型的皮肤
 /// </summary>
 /// <param name="unBeastTypeId">神兽模型id</param>
 /// <param name="nSuitId">皮肤id</param>
 /// <param name="callBack">回调</param>
 public void Dowork(int unBeastTypeId, int nSuitId, Action <GameObject> callBack)
 {
     if (this.m_unBeastTypeId == unBeastTypeId && this.m_nSuitId == nSuitId)
     {
         if (null != callBack)
         {
             if (this.m_bFinished)
             {
                 callBack(this.m_gameObject);
             }
             else
             {
                 this.m_callBackFinish = (Action <GameObject>)Delegate.Combine(this.m_callBackFinish, callBack);
             }
         }
     }
     else
     {
         //在创建模型前先卸载之前的缓存模型
         this.Unload();
         this.m_unBeastTypeId  = unBeastTypeId;
         this.m_nSuitId        = nSuitId;
         this.m_callBackFinish = callBack;
         //DataSuit dataByID = DataSuitManager.Instance.GetDataByID(nSuitId);
         DataSuit dataByID = GameData <DataSuit> .dataMap[nSuitId];
         if (null != dataByID)
         {
             //合并类型
             this.m_nMergeType = dataByID.Merge;
             List <string> arrayList = DataExtensions.GetArrayList(dataByID.Texture);
             if (arrayList.Count != 0)
             {
                 //加载模型皮肤需要的贴图
                 for (int i = 0; i < arrayList.Count; i++)
                 {
                     string relativeUrl = string.Format("Texture/SuitTexture/{0}", arrayList[i]);
                     this.m_listAssetRequestSuitTexture.Add(ResourceManager.singleton.LoadTexture(relativeUrl, new AssetRequestFinishedEventHandler(this.OnLoadSuitTextureFinished), AssetPRI.DownloadPRI_Plain));
                 }
             }
             //加载皮肤模型
             if (!string.IsNullOrEmpty(dataByID.SuitPath))
             {
                 string relativeUrl2 = string.Format("Data/Model/BeastModel/{0}", dataByID.SuitPath);
                 this.m_assetRequestSuitModel = ResourceManager.singleton.LoadModel(relativeUrl2, new AssetRequestFinishedEventHandler(this.OnLoadSuitModelFinished), AssetPRI.DownloadPRI_Plain);
             }
         }
         //获取基础模型路径
         this.m_strBaseModelPath = AvatarTool.GetBasePath(nSuitId, unBeastTypeId);
         //加载基础模型
         this.m_assetRequestBaseModel = ResourceManager.singleton.LoadModel(this.m_strBaseModelPath, new AssetRequestFinishedEventHandler(this.OnLoadBaseModelFinished), AssetPRI.DownloadPRI_Plain);
     }
 }
Example #15
0
 private void OnDestroy()
 {
     if (this.m_assetRequestOld != null)
     {
         this.m_assetRequestOld.Dispose();
         this.m_assetRequestOld = null;
     }
     if (this.m_assetRequest != null)
     {
         this.m_assetRequest.Dispose();
         this.m_assetRequest = null;
     }
 }
Example #16
0
 /// <summary>
 /// 增加精灵引用次数,如果不存在就动态创建加载
 /// </summary>
 /// <param name="texName"></param>
 /// <param name="callBack"></param>
 public void AddRefCount(string texName, DynamicAtlasManager.PrepareAtlasCallBack callBack)
 {
     if (string.IsNullOrEmpty(texName))
     {
         return;
     }
     //如果该动态图集不存在该精灵,就创建一个该精灵
     if (!this.m_dicSpriteEntrys.ContainsKey(texName))
     {
         this.m_dicSpriteEntrys[texName] = new DynamicAtlas.SpriteEntry(texName);
     }
     //精灵引用次数加一
     this.m_dicSpriteEntrys[texName].AddRef();
     if (this.m_dicSpriteEntrys[texName].IsPrepared)
     {
         if (callBack != null)
         {
             try
             {
                 callBack(this.AtlasName, texName, this.m_uiAtlas);
             }
             catch (Exception exception)
             {
                 Debug.LogException(exception);
             }
         }
     }
     else
     {
         if (callBack != null)
         {
             //如果精灵准备好的回调函数不为空的话,就加入到缓存中
             if (!this.m_dicPrepareCallBack.ContainsKey(texName))
             {
                 this.m_dicPrepareCallBack[texName] = callBack;
             }
             else
             {
                 DynamicAtlasManager.PrepareAtlasCallBack a = this.m_dicPrepareCallBack[texName];
                 this.m_dicPrepareCallBack[texName] = (DynamicAtlasManager.PrepareAtlasCallBack)Delegate.Combine(a, callBack);
             }
         }
         //加载该精灵资源
         if (!this.m_dicAssetRequestTexture.ContainsKey(texName))
         {
             string        url   = string.Format("Texture/{0}/{1}", this.m_strAtlasName, texName);
             IAssetRequest value = XUITool.Instance.LoadResAsyn(url, new AssetRequestFinishedEventHandler(this.OnLoadTextureFinished), AssetPRI.DownloadPRI_Low);
             this.m_dicAssetRequestTexture[texName] = value;
         }
     }
 }
Example #17
0
 private void OnDestroy()
 {
     this.RemoveSpriteRef(this.m_atlasNameCached, this.m_spriteNameCached);
     if (this.m_assetRequestAtlasOld != null)
     {
         this.m_assetRequestAtlasOld.Dispose();
         this.m_assetRequestAtlasOld = null;
     }
     if (this.m_assetRequestAtlas != null)
     {
         this.m_assetRequestAtlas.Dispose();
         this.m_assetRequestAtlas = null;
     }
 }
    /// <summary>
    /// 加载完资源之后回调,主要是添加格子的贴图
    /// </summary>
    /// <param name="assetRequest"></param>
    public void LoadFinishedEventHandler(IAssetRequest assetRequest)
    {
        IAssetResource assetResource = assetRequest.AssetResource;

        if (assetResource != null)
        {
            UnityEngine.Object mainAsset = assetResource.MainAsset;
            Texture            texture   = mainAsset as Texture;
            if (texture != null)
            {
                base.renderer.material.mainTexture = texture;
            }
        }
    }
 /// <summary>
 /// 加载音效回调
 /// </summary>
 /// <param name="assetRequest"></param>
 private void OnLoadOneShotAudioFinished(IAssetRequest assetRequest)
 {
     if (assetRequest != null && assetRequest.AssetResource != null)
     {
         if (!this.IsStopped)
         {
             this.m_audioSource        = this.m_hostObject.AddComponent <AudioSource>();
             this.m_audioSource.clip   = (assetRequest.AssetResource.MainAsset as AudioClip);
             this.m_audioSource.volume = this.m_audioVolume;
             this.m_audioSource.Play();
             UnityGameEntry.Instance.StartCoroutine(this.AutoDistroyOneShotAudio());
         }
     }
 }
Example #20
0
        private void OnLoadCursorTextureFinished(IAssetRequest assetRequest)
        {
            IAssetResource assetResource = assetRequest.AssetResource;

            if (null != assetResource)
            {
                UnityEngine.Object mainAsset = assetResource.MainAsset;
                Texture2D          texture2D = mainAsset as Texture2D;
                if (!(null == texture2D))
                {
                    string key = assetRequest.Data as string;
                    this.m_dicCursorTexture[key] = texture2D;
                    this.RefreshCursor();
                }
            }
        }
Example #21
0
    /// <summary>
    /// 加载图集完成之后,初始化精灵,并显示
    /// </summary>
    /// <param name="obj"></param>
    private void OnLoadAtlasFinished(IAssetRequest assetRequest)
    {
        if (assetRequest.AssetResource == null || assetRequest.AssetResource.MainAsset == null)
        {
            return;
        }
        GameObject gameObject = assetRequest.AssetResource.MainAsset as GameObject;
        UIAtlas    component  = gameObject.GetComponent <UIAtlas>();

        if (null == component)
        {
            this.m_log.Error(string.Format("null == atlas:{0}", assetRequest.AssetResource.URL));
            return;
        }
        this.OnPrepareAtlas(assetRequest.AssetResource.URL, string.Empty, component);
    }
 /// <summary>
 /// 停止播放音乐
 /// </summary>
 public void StopMusic()
 {
     if (null == this.m_curMusicAudioSource)
     {
         this.m_log.Error("null == AudioSource");
     }
     else
     {
         this.m_curMusicAudioSource.Stop();
         this.m_curMusicAudioSource.clip = null;
         if (null != this.m_assetRequestMusic)
         {
             this.m_assetRequestMusic.Dispose();
             this.m_assetRequestMusic = null;
         }
     }
 }
 public void SetHexagons(List <CVector3> listHexagon, string strTextureFile = null)
 {
     if (!this.m_bPrepared)
     {
         this.m_listHexagonCached    = listHexagon;
         this.m_strTextureFileCached = strTextureFile;
     }
     else
     {
         this.m_listVertex.Clear();
         this.m_listVertexIndex.Clear();
         this.m_listUV.Clear();
         if (listHexagon != null && this.m_MeshFilter != null)
         {
             this.m_MeshFilter.mesh.Clear();
             if (!string.IsNullOrEmpty(strTextureFile))
             {
                 //如果已经完成下载的列表不包括贴图,就下载然后存到缓存
                 if (!this.m_dicTextureAssetRequest.ContainsKey(strTextureFile) || !this.m_dicTextureAssetRequest[strTextureFile].IsFinished)
                 {
                     IAssetRequest value = ResourceManager.singleton.LoadTexture(strTextureFile, new AssetRequestFinishedEventHandler(this.LoadFinishedEventHandler), AssetPRI.DownloadPRI_Plain);
                     this.m_dicTextureAssetRequest[strTextureFile] = value;
                 }
                 else
                 {
                     this.LoadFinishedEventHandler(this.m_dicTextureAssetRequest[strTextureFile]);
                 }
             }
             foreach (CVector3 current in listHexagon)
             {
                 Hexagon.FillHexagon(current.nRow, current.nCol, this.m_fY, ref this.m_listVertex, ref this.m_listVertexIndex, ref this.m_listUV);
             }
             //重新绘画计算mesh
             this.m_MeshFilter.mesh.vertices  = this.m_listVertex.ToArray();
             this.m_MeshFilter.mesh.uv        = this.m_listUV.ToArray();
             this.m_MeshFilter.mesh.triangles = this.m_listVertexIndex.ToArray();
             this.m_MeshFilter.mesh.RecalculateNormals();
             if (this.m_MeshCollider != null)
             {
                 this.m_MeshCollider.sharedMesh = null;
                 this.m_MeshCollider.sharedMesh = this.m_MeshFilter.mesh;//重新修改meshcollider
             }
         }
     }
 }
Example #24
0
    private void OnLoadCursorTextureFinished(IAssetRequest assetRequest)
    {
        IAssetResource assetResource = assetRequest.AssetResource;

        if (assetResource == null)
        {
            return;
        }
        UnityEngine.Object mainAsset = assetResource.MainAsset;
        Texture2D          texture2D = mainAsset as Texture2D;

        if (null == texture2D)
        {
            return;
        }
        Cursor.SetCursor(texture2D, this.m_vec2HotSpot, CursorMode.ForceSoftware);
        this.m_dicCursorTexture[this.m_strCursorTextureFile] = texture2D;
    }
Example #25
0
        private void SetCursor(string strTextureFile, Vector2 hotspot, CursorMode cursorMode)
        {
            Texture2D texture = null;

            if (this.m_dicCursorTexture.TryGetValue(strTextureFile, out texture))
            {
                Cursor.SetCursor(texture, hotspot, cursorMode);
            }
            else
            {
                if (!this.m_setLoadingTexture.Contains(strTextureFile))
                {
                    this.m_setLoadingTexture.Add(strTextureFile);
                    IAssetRequest assetRequest = ResourceManager.singleton.LoadTexture(strTextureFile, new AssetRequestFinishedEventHandler(this.OnLoadCursorTextureFinished), AssetPRI.DownloadPRI_High);
                    assetRequest.Data = strTextureFile;
                }
            }
        }
        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);
        }
Example #27
0
 /// <summary>
 /// 加载UI资源
 /// </summary>
 public void Load()
 {
     try
     {
         if (!this.m_bLoaded)
         {
             this.m_bLoaded = true;
             string text = string.Format("ui/{0}/{0}", this.fileName);
             if (this.IsBundle)
             {
                 this.m_assetRequest = ResourceManager.singleton.LoadUI(text, new AssetRequestFinishedEventHandler(this.OnLoadUIFinishedEventHandler), AssetPRI.DownloadPRI_Plain);
             }
             else
             {
                 GameObject gameObject = Resources.Load(text) as GameObject;
                 GameObject gameObject2;
                 if (null != gameObject)
                 {
                     gameObject2 = (Object.Instantiate(gameObject) as GameObject);
                 }
                 else
                 {
                     gameObject2 = new GameObject(this.fileName);
                     this.m_log.Fatal(string.Format("null == assetResource: {0}", this.fileName));
                 }
                 if (null != gameObject2)
                 {
                     gameObject2.name                    = this.fileName;
                     gameObject2.transform.parent        = UIManager.singleton.UIRoot;
                     gameObject2.transform.localPosition = new Vector3(-0.5f, 0.5f, 0f);
                     gameObject2.transform.localScale    = new Vector3(1f, 1f, 1f);
                     TUIBehaviour tUIBehaviour = gameObject2.AddComponent <TUIBehaviour>();
                     tUIBehaviour.ParentDlg = this;
                     this._Init(tUIBehaviour);
                 }
             }
         }
     }
     catch (Exception ex)
     {
         this.m_log.Fatal(ex.ToString());
     }
 }
        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);
        }
Example #30
0
 private void EnterScene(string strSceneName)
 {
     this.m_log.Debug("EnterScene:" + strSceneName);
     if (Application.loadedLevelName.Equals(strSceneName))
     {
         this.m_log.Error(string.Format("Application.loadedLevelName.Equals(strSceneName) == true:{0}", strSceneName));
     }
     else
     {
         if (!CommonDefine.IsMobilePlatform)
         {
             UnityGameEntry.Instance.StartCoroutine(this.loadScene(strSceneName));
         }
         else
         {
             IAssetRequest assetRequest = ResourceManager.singleton.LoadScene("scenes/" + strSceneName, new AssetRequestFinishedEventHandler(this.OnLoadSceneAssetFinished), AssetPRI.DownloadPRI_Superlative);
         }
     }
 }