public void LoadIcon(string strName, UITexture tex) { if (string.IsNullOrEmpty(strName) || null == tex) { return; } HeadIconLoaderItem Data = GetLoaderItem(strName); if (null == Data) { Data = new HeadIconLoaderItem(); Data.m_strName = strName; Data.m_Tex = null; Data.m_nRef = 1; Data.lstUITexture.Add(tex); m_lstLoaderItem.Add(Data); } else { Data.m_nRef++; if (null == Data.m_Tex) { Data.lstUITexture.Add(tex); } else { Data.Flush(tex); return; } } IconAssetMgr.LoadAsset(strName, ParamData.Empty); }
static public void LoadIconCallBack(AssetBundle AssetData, ParamData paramData) { if (null == paramData || null == AssetData || null == AssetData.mainAsset) { IconAssetMgr.DeleteAsset(AssetData, true); return; } Texture2D Tex2D = AssetData.mainAsset as Texture2D; if (null == Tex2D) { IconAssetMgr.DeleteAsset(AssetData, true); return; } HeadIconLoaderItem Item = HeadIconLoader.Instance.GetLoaderItem(paramData.szAssetName); if (null == Item) { IconAssetMgr.DeleteAsset(AssetData, true); return; } Item.m_AssetData = AssetData; Item.m_Tex = Tex2D; Item.m_Tex.name = paramData.szAssetName; Item.FlushAll(); IconAssetMgr.DeleteAsset(AssetData, false); }
public void Delete(string strName) { HeadIconLoaderItem item = GetLoaderItem(strName); if (null == item) { return; } item.m_nRef--; for (int iLoop = 0; iLoop < item.lstUITexture.Count; ++iLoop) { if (null == item.lstUITexture[iLoop]) { continue; } if (item.lstUITexture[iLoop].name == strName) { item.lstUITexture.RemoveAt(iLoop); break; } } if (item.m_nRef <= 0) { item.Delete(); m_lstLoaderItem.Remove(item); } }