YIUICommonMenuItem.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using UnityEditor;
  2. using UnityEngine;
  3. namespace YIUIFramework.Editor
  4. {
  5. internal static partial class YIUICommonMenuItem
  6. {
  7. public static GameObject CreateTarget(string path, string targetName)
  8. {
  9. var activeObject = Selection.activeObject as GameObject;
  10. if (activeObject == null)
  11. {
  12. UnityTipsHelper.ShowError($"请选择一个对象 右键创建");
  13. return null;
  14. }
  15. var clonePath = $"{path}/{targetName}.prefab";
  16. var obj = UIMenuItemHelper.CloneGameObjectByPath(clonePath, activeObject.transform);
  17. Selection.activeObject = obj;
  18. return obj;
  19. }
  20. internal static GameObject CreateTarget(string targetName)
  21. {
  22. var path = $"Packages/cn.etetet.yiuiframework/Editor/TemplatePrefabs/YIUI";
  23. return CreateTarget(path, targetName);
  24. }
  25. [MenuItem("GameObject/YIUI/UIBlockBG", false, 100000)]
  26. private static void CreateText_UIBlockBG()
  27. {
  28. CreateTarget("UIBlockBG");
  29. }
  30. [MenuItem("GameObject/YIUI/Text_NoRaycast", false, 100001)]
  31. private static void CreateText_NoRaycast()
  32. {
  33. CreateTarget("YIUIText_NoRaycast");
  34. }
  35. [MenuItem("GameObject/YIUI/Text (TMP)", false, 100002)]
  36. private static void CreateTextTMP()
  37. {
  38. CreateTarget("YIUIText (TMP)");
  39. }
  40. [MenuItem("GameObject/YIUI/Image_NoRaycast", false, 100003)]
  41. private static void CreateImage_NoRaycast()
  42. {
  43. CreateTarget("YIUIImage_NoRaycast");
  44. }
  45. [MenuItem("GameObject/YIUI/Button", false, 100004)]
  46. private static void CreateButton()
  47. {
  48. CreateTarget("YIUIButton");
  49. }
  50. [MenuItem("GameObject/YIUI/Button_NoText", false, 100005)]
  51. private static void CreateButton_NoText()
  52. {
  53. CreateTarget("YIUIButton_NoText");
  54. }
  55. [MenuItem("GameObject/YIUI/Click_Event", false, 110001)]
  56. private static void CreateClick_Event()
  57. {
  58. var obj = CreateTarget("UIBlockBG");
  59. obj.name = "ClickEvent";
  60. obj.AddComponent<YIUIClickEffect>();
  61. obj.AddComponent<UIEventBindClick>();
  62. }
  63. [MenuItem("GameObject/YIUI/Click_Task", false, 110002)]
  64. private static void CreateClick_Task()
  65. {
  66. var obj = CreateTarget("UIBlockBG");
  67. obj.name = "ClickTask";
  68. obj.AddComponent<YIUIClickEffect>();
  69. obj.AddComponent<UITaskEventBindClick>();
  70. }
  71. }
  72. }