TMP_ColorGradientAssetMenu.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using UnityEditor;
  2. using UnityEngine;
  3. using System.IO;
  4. using System.Collections;
  5. namespace TMPro.EditorUtilities
  6. {
  7. public static class TMP_ColorGradientAssetMenu
  8. {
  9. [MenuItem("Assets/Create/TextMeshPro/Color Gradient", false, 115)]
  10. public static void CreateColorGradient(MenuCommand context)
  11. {
  12. string filePath;
  13. if (Selection.assetGUIDs.Length == 0)
  14. filePath = "Assets/New TMP Color Gradient.asset";
  15. else
  16. filePath = AssetDatabase.GUIDToAssetPath(Selection.assetGUIDs[0]);
  17. if (Directory.Exists(filePath))
  18. {
  19. filePath += "/New TMP Color Gradient.asset";
  20. }
  21. else
  22. {
  23. filePath = Path.GetDirectoryName(filePath) + "/New TMP Color Gradient.asset";
  24. }
  25. filePath = AssetDatabase.GenerateUniqueAssetPath(filePath);
  26. // Create new Color Gradient Asset.
  27. TMP_ColorGradient colorGradient = ScriptableObject.CreateInstance<TMP_ColorGradient>();
  28. // Create Asset
  29. AssetDatabase.CreateAsset(colorGradient, filePath);
  30. //EditorUtility.SetDirty(colorGradient);
  31. AssetDatabase.SaveAssets();
  32. AssetDatabase.ImportAsset(AssetDatabase.GetAssetPath(colorGradient));
  33. EditorUtility.FocusProjectWindow();
  34. EditorGUIUtility.PingObject(colorGradient);
  35. }
  36. }
  37. }