Пример #1
0
        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);
        }
Пример #2
0
 private void SelectSpriteSet(SpriteSetBuilderSettings.Item item)
 {
     if (item.spriteSet != null)
     {
         Selection.activeObject = item.spriteSet;
     }
 }
Пример #3
0
        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);
        }
Пример #4
0
        private void AddItem()
        {
            var newItem = new SpriteSetBuilderSettings.Item();

            settings.itemList.Add(newItem);
        }