private void WriteSpriteSet(SpriteSetBuilderSettings.Item item) { // get sprite list var spriteList = GetSpriteList(item.directory, item.recursive); // load it string path = string.Format("{0}/{1}.asset", settings.outputDirectory, item.Name); var spriteSet = AssetDatabase.LoadAssetAtPath <SpriteSet>(path); if (spriteSet == null) { // create new spriteSet = ScriptableObject.CreateInstance <SpriteSet>(); // save it EditorHelper.PrepareOutputPath(path); AssetDatabase.CreateAsset(spriteSet, path); } // update list spriteSet.spriteList = spriteList; // mark dirty EditorUtility.SetDirty(spriteSet); // keep reference item.spriteSet = spriteSet; Debug.LogFormat("Write SpriteTable, path={0}", path); }
private void SelectSpriteSet(SpriteSetBuilderSettings.Item item) { if (item.spriteSet != null) { Selection.activeObject = item.spriteSet; } }
private void Build(SpriteSetBuilderSettings.Item item) { item.spriteSet = null; if (!AssetDatabase.IsValidFolder(item.directory)) { Debug.LogWarningFormat("Invalid sprite directory {0}", item.directory); return; } // write WriteSpriteSet(item); }
private void AddItem() { var newItem = new SpriteSetBuilderSettings.Item(); settings.itemList.Add(newItem); }