public List <AtlasInfoForSearchSprite> VagueSearchAtlasWithSpecifySprite(string spriteName) { List <AtlasInfoForSearchSprite> atlasInfoTbl = new List <AtlasInfoForSearchSprite>(); if (string.IsNullOrEmpty(spriteName)) { return(null); } string[] paths = AssetDatabase.GetAllAssetPaths(); for (int index = 0; index < paths.Length; index++) { GameObject atlasObj = null; if (UtilityForNGUI.IsAtlasPrefab(paths[index], out atlasObj)) { if (null == atlasObj) { continue; } AtlasInfoForSearchSprite newInfo = new AtlasInfoForSearchSprite(); newInfo.AtlasPath = paths[index]; newInfo.AtlasTexture = UtilityForNGUI.GetAtlasTexture(atlasObj); //newInfo.SpriteInfo = UtilityForNGUI.GetSpriteInfo(atlasObj); newInfo.SpriteInfo = VagueGetSpriteInfoInAtlas(spriteName, atlasObj); if ( (newInfo.SpriteInfo != null) && (newInfo.SpriteInfo.Count != 0) ) { atlasInfoTbl.Add(newInfo); } //if (IsSpriteInAtlas(spriteName, newInfo)) //{ // atlasInfoTbl.Add(newInfo); //} } } return(atlasInfoTbl); }
private bool IsSpriteInAtlas(string spriteName, AtlasInfoForSearchSprite atlasInfo) { bool bRet = false; if ( string.IsNullOrEmpty(spriteName) || (null == atlasInfo) ) { return(false); } Rect spriteRect = new Rect(); if (atlasInfo.SpriteInfo.TryGetValue(spriteName, out spriteRect)) { bRet = true; } return(bRet); }