46 lines
1.3 KiB
C#
46 lines
1.3 KiB
C#
using UnityEngine;
|
|
using UnityEditor;
|
|
|
|
namespace uDesktopDuplication
|
|
{
|
|
|
|
public static class Utils
|
|
{
|
|
public static bool Foldout(string title, bool display)
|
|
{
|
|
var style = new GUIStyle("ShurikenModuleTitle");
|
|
style.font = new GUIStyle(EditorStyles.label).font;
|
|
style.border = new RectOffset(15, 7, 4, 4);
|
|
style.fixedHeight = 22;
|
|
style.contentOffset = new Vector2(20f, -2f);
|
|
|
|
var rect = GUILayoutUtility.GetRect(16f, 22f, style);
|
|
GUI.Box(rect, title, style);
|
|
|
|
var e = Event.current;
|
|
|
|
var toggleRect = new Rect(rect.x + 4f, rect.y + 2f, 13f, 13f);
|
|
if (e.type == EventType.Repaint) {
|
|
EditorStyles.foldout.Draw(toggleRect, false, false, display, false);
|
|
}
|
|
|
|
if (e.type == EventType.MouseDown && rect.Contains(e.mousePosition)) {
|
|
display = !display;
|
|
e.Use();
|
|
}
|
|
|
|
return display;
|
|
}
|
|
|
|
public static void ReadOnlyTextField(string label, string text)
|
|
{
|
|
EditorGUILayout.BeginHorizontal();
|
|
{
|
|
EditorGUILayout.LabelField(label, GUILayout.Width(EditorGUIUtility.labelWidth - 4));
|
|
EditorGUILayout.SelectableLabel(text, EditorStyles.textField, GUILayout.Height(EditorGUIUtility.singleLineHeight));
|
|
}
|
|
EditorGUILayout.EndHorizontal();
|
|
}
|
|
}
|
|
|
|
} |