using UnityEngine;
using UnityEditor;
using System.Text;
public class SaveAssetsExample : MonoBehaviour
{
[MenuItem("APIExamples/SaveAssets")]
static void AssetsToBeSaved()
{
Color[] colorList = new[] { Color.red, Color.green, Color.blue, Color.black, Color.gray };
for (int i = 0; i < colorList.Length; ++i)
{
Material material = new Material(Shader.Find("Specular"));
var materialName = "material_" + i + ".mat";
AssetDatabase.CreateAsset(material, "Assets/Artifacts/" + materialName);
material.SetColor("_Color", colorList[i]);
}
AssetDatabase.SaveAssets();
}
}
public class OutputListOfFilesToSave : UnityEditor.AssetModificationProcessor
{
//Will be invoked once for each call to CreateAsset()
//and once for calling AssetDatabase.SaveAssets()
static string[] OnWillSaveAssets(string[] paths)
{
Debug.Log("OnWillSaveAssets invoked");
StringBuilder assetsToBeSaved = new StringBuilder();
assetsToBeSaved.AppendLine();
foreach (string path in paths)
{
assetsToBeSaved.Append(path);
assetsToBeSaved.AppendLine();
}
Debug.Log("Assets to be saved:" + assetsToBeSaved.ToString());
return paths;
}
}