summaryrefslogtreecommitdiff
path: root/Assets/Tools/ActionTool/Editor/ActionEditorUI.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-09-15 12:50:26 +0800
committerchai <chaifix@163.com>2021-09-15 12:50:26 +0800
commit98f31f197a126850a5878cd6e583ae6dbf64ab3d (patch)
tree207f726fb027c227d2fd58bd1bc340cb3a7eaf67 /Assets/Tools/ActionTool/Editor/ActionEditorUI.cs
parentad950c25abdf7f5a2f0428863d4035e9eb168fd5 (diff)
*rename
Diffstat (limited to 'Assets/Tools/ActionTool/Editor/ActionEditorUI.cs')
-rw-r--r--Assets/Tools/ActionTool/Editor/ActionEditorUI.cs99
1 files changed, 99 insertions, 0 deletions
diff --git a/Assets/Tools/ActionTool/Editor/ActionEditorUI.cs b/Assets/Tools/ActionTool/Editor/ActionEditorUI.cs
new file mode 100644
index 00000000..a1e2ba36
--- /dev/null
+++ b/Assets/Tools/ActionTool/Editor/ActionEditorUI.cs
@@ -0,0 +1,99 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEditor;
+
+namespace ActionTool
+{
+ internal class ActionEditorUI
+ {
+ static ActionEditorUI s_instance;
+
+ static Material m_material;
+
+ public Material defaultUIMaterail { get { return m_material; } }
+
+ public static ActionEditorUI Get()
+ {
+ bool flag = s_instance == null;
+ if (flag)
+ {
+ s_instance = new ActionEditorUI();
+ }
+ return s_instance;
+ }
+
+ private ActionEditorUI()
+ {
+ m_material = new Material(Shader.Find("Hidden/Internal-Colored"));
+ m_material.hideFlags = HideFlags.HideAndDontSave;
+ }
+
+ public void DrawVerticalLineFast(float x, float minY, float maxY, Color color)
+ {
+ // GL画线在GenericMenu弹出来时会有问题
+ //bool bWin = Application.platform == RuntimePlatform.WindowsEditor;
+ //if (bWin)
+ //{
+ // GL.Color(color);
+ // GL.Vertex(new Vector3(x - 0.5f, minY, 0f));
+ // GL.Vertex(new Vector3(x + 0.5f, minY, 0f));
+ // GL.Vertex(new Vector3(x + 0.5f, maxY, 0f));
+ // GL.Vertex(new Vector3(x - 0.5f, maxY, 0f));
+ //}
+ //else
+ //{
+ // GL.Color(color);
+ // GL.Vertex(new Vector3(x, minY, 0f));
+ // GL.Vertex(new Vector3(x, maxY, 0f));
+ //}
+ Rect rect = new Rect(x-0.5f, minY, 1, maxY - minY);
+ EditorGUI.DrawRect(rect, color);
+ }
+
+ public void DrawHorizontalLineFast(float y, float minX, float maxX, Color color)
+ {
+ //bool bWin = Application.platform == RuntimePlatform.WindowsEditor;
+ //if (bWin)
+ //{
+ // GL.Color(color);
+ // GL.Vertex(new Vector3(minX, y - 0.5f, 0f));
+ // GL.Vertex(new Vector3(minX, y + 0.5f, 0f));
+ // GL.Vertex(new Vector3(maxX, y + 0.5f, 0f));
+ // GL.Vertex(new Vector3(maxX, y - 0.5f, 0f));
+ //}
+ //else
+ //{
+ // GL.Color(color);
+ // GL.Vertex(new Vector3(minX, y, 0f));
+ // GL.Vertex(new Vector3(maxX, y, 0f));
+ //}
+ Rect rect = new Rect(minX, y - 0.5f, maxX - minX, 1);
+ EditorGUI.DrawRect(rect, color);
+ }
+
+ public void DrawRectFrame(Rect rect, Color col)
+ {
+ DrawHorizontalLineFast(rect.y, rect.x, rect.x + rect.width, col);
+ DrawHorizontalLineFast(rect.y + rect.height, rect.x, rect.x + rect.width, col);
+ DrawVerticalLineFast(rect.x, rect.y, rect.y + rect.height, col);
+ DrawVerticalLineFast(rect.x + rect.width, rect.y, rect.y + rect.height, col);
+ }
+
+ public void SelectObject(Object obj)
+ {
+ Selection.activeObject = obj;
+ EditorGUIUtility.PingObject(obj);
+ }
+
+ public void SelectObject(string path)
+ {
+ Object obj = AssetDatabase.LoadAssetAtPath(path, typeof(Object)) as Object;
+ if(obj)
+ {
+ SelectObject(obj);
+ }
+ }
+
+ }
+} \ No newline at end of file