using UnityEditor;
|
|
using UnityEngine;
|
|
using System.IO;
|
|
using System.Collections;
|
|
|
|
|
|
|
|
namespace TMPro.EditorUtilities
|
|
{
|
|
|
|
public static class TMP_ColorGradientAssetMenu
|
|
{
|
|
[MenuItem("Assets/Create/TextMeshPro/Color Gradient", false, 110)]
|
|
public static void CreateColorGradient(MenuCommand context)
|
|
{
|
|
string filePath;
|
|
|
|
if (Selection.assetGUIDs.Length == 0)
|
|
filePath = "Assets/New TMP Color Gradient.asset";
|
|
else
|
|
filePath = AssetDatabase.GUIDToAssetPath(Selection.assetGUIDs[0]);
|
|
|
|
if (Directory.Exists(filePath))
|
|
{
|
|
filePath += "/New TMP Color Gradient.asset";
|
|
}
|
|
else
|
|
{
|
|
filePath = Path.GetDirectoryName(filePath) + "/New TMP Color Gradient.asset";
|
|
}
|
|
|
|
filePath = AssetDatabase.GenerateUniqueAssetPath(filePath);
|
|
|
|
// Create new Color Gradient Asset.
|
|
TMP_ColorGradient colorGradient = ScriptableObject.CreateInstance<TMP_ColorGradient>();
|
|
|
|
// Create Asset
|
|
AssetDatabase.CreateAsset(colorGradient, filePath);
|
|
|
|
//EditorUtility.SetDirty(colorGradient);
|
|
|
|
AssetDatabase.SaveAssets();
|
|
|
|
AssetDatabase.ImportAsset(AssetDatabase.GetAssetPath(colorGradient));
|
|
|
|
EditorUtility.FocusProjectWindow();
|
|
Selection.activeObject = colorGradient;
|
|
|
|
}
|
|
}
|
|
}
|