private void ChangeAtlas(GameObject obj, List <NGUIAtlas> filtered, NGUIAtlas changeAtlas) { foreach (UISprite s in obj.GetComponentsInChildren <UISprite>(true)) { if (s.spriteName == searchSpriteName && changeAtlas != s.atlas && filtered.Contains(s.atlas as NGUIAtlas)) { Debug.LogFormat("{0} ({1}): {2} -> {3}", s.transform.GetScenePath(), s.spriteName, s.atlas.name(), changeAtlas.name()); s.atlas = changeAtlas; EditorUtil.SetDirty(s); } } }