다음과 같은 스프라이트리스트를 가진 스크립트있다고 가정:
// Assets/Scripts/SpriteListScript.cs public class SpriteListScript : MonoBehaviour { public Sprite[] spriteList; void Start() { // ... } // ... }
Assets/Editor폴더안에 editor용 스크립트를 만든다:
// Assets/Editor/SpriteListScriptEditor.cs [CustomEditor(typeof(SpriteListScript))] public class SpriteListScriptEditor : Editor { public override void OnInspectorGUI() { DrawDefaultInspector(); var ps = target as SpriteListScript; if (ps != null) { if(GUILayout.Button("Update Resources")) { UpdateSprites(ps); } } } void UpdateSprites(SpriteListScript ps) { var filepath = "Assets/Textures/sprites/numbers.png"; // path to texture containing sprites. var sprites = AssetDatabase.LoadAllAssetRepresentationsAtPath(filepath); if (sprites != null) { var l = new List<Sprite>(sprites.Length); foreach(var i in sprites) { var s = i as Sprite; l.Add(s); } l.Sort((x,y) => { return x.name.CompareTo(y.name); }); ps.numberSprites = l.ToArray(); } else { ps.numberSprites = new Sprite[0] {}; } } }