/// <summary> /// 获取模板ID Sprite /// </summary> /// <param name="_eType">图片类型</param> /// <param name="_nIDArray">模板ID顺序(A,B,C,...)</param> /// <returns></returns> public Sprite GetSprite(ESpriteType _eType, USpeedUI.WndID _eUserID, params int[] _nIDArray) { if (_nIDArray[_nIDArray.Length - 1] <= 0) { return(DefaultSprite); } return(GetSprite(dicSpriteType[_eType].AssetBundleName(_nIDArray), dicSpriteType[_eType].AssetName(_nIDArray), _eUserID)); }
/// <summary> /// 移除界面下非异步的Sprite /// <para>这方法一般在界面父类执行了</para> /// </summary> /// <param name="_eUserID">界面ID</param> public void DeleteSprite(USpeedUI.WndID _eUserID) { if (dicUseingSprite.ContainsKey(_eUserID)) { dicUseingSprite[_eUserID].ForEach(DeleteSprite); dicUseingSprite[_eUserID].Clear(); dicUseingSprite.Remove(_eUserID); } }
/// <summary> /// 直接通过assetBundleName和AssetName获取资源节点 (不太建议这种方法) /// </summary> /// <param name="strAssetBundleName"></param> /// <param name="strAssetName"></param> /// <returns></returns> public Sprite GetSprite(string strAssetBundleName, string strAssetName, USpeedUI.WndID _eUserID) { ResNode resData = GetSpriteRes(strAssetBundleName, strAssetName); if (resData == null) { Trace.LogWarning("无法获取Sprite:" + strAssetName + " ,在包" + strAssetBundleName + ",已用默认的透明图替代"); return(DefaultSprite); } SetSpriteToUseingDic(_eUserID, resData); return(resData.ConvertRes <Sprite>()); }
private void SetSpriteToUseingDic(USpeedUI.WndID _eWndID, ResNode _resNode) { if (dicUseingSprite.ContainsKey(_eWndID)) { dicUseingSprite[_eWndID].Add(_resNode); } else { List <ResNode> resNode = new List <ResNode>(); resNode.Add(_resNode); dicUseingSprite.Add(_eWndID, resNode); } }
/// <summary> /// 获取非模板ID Sprite /// </summary> /// <param name="_eType">图片类型</param> /// <returns></returns> public Sprite GetSprite(ESpriteType _eType, string _strAssetName, USpeedUI.WndID _eUserID) { return(GetSprite(dicSpriteType[_eType].AssetBundleName(), _strAssetName, _eUserID)); }