mirror of
https://github.com/FriendshipIsEpic/FiE-Game.git
synced 2024-11-29 16:37:59 +01:00
62 lines
2.1 KiB
C#
62 lines
2.1 KiB
C#
using UnityEngine;
|
|
using UnityEditor;
|
|
using System;
|
|
using System.Linq.Expressions;
|
|
using System.Reflection;
|
|
|
|
namespace UnityStandardAssets.CinematicEffects
|
|
{
|
|
public static class EditorGUIHelper
|
|
{
|
|
private static Styles s_Styles;
|
|
private class Styles
|
|
{
|
|
public GUIStyle header = "ShurikenModuleTitle";
|
|
public GUIStyle headerCheckbox = "ShurikenCheckMark";
|
|
|
|
internal Styles()
|
|
{
|
|
header.font = (new GUIStyle("Label")).font;
|
|
header.border = new RectOffset(15, 7, 4, 4);
|
|
header.fixedHeight = 22;
|
|
header.contentOffset = new Vector2(20f, -2f);
|
|
}
|
|
}
|
|
|
|
static EditorGUIHelper()
|
|
{
|
|
s_Styles = new Styles();
|
|
}
|
|
|
|
public static bool Header(SerializedProperty group, SerializedProperty enabledField)
|
|
{
|
|
var display = group == null || group.isExpanded;
|
|
var enabled = enabledField != null && enabledField.boolValue;
|
|
var title = group == null ? "Unknown Group" : ObjectNames.NicifyVariableName(group.displayName);
|
|
|
|
Rect rect = GUILayoutUtility.GetRect(16f, 22f, s_Styles.header);
|
|
GUI.Box(rect, title, s_Styles.header);
|
|
|
|
Rect toggleRect = new Rect(rect.x + 4f, rect.y + 4f, 13f, 13f);
|
|
if (Event.current.type == EventType.Repaint)
|
|
s_Styles.headerCheckbox.Draw(toggleRect, false, false, enabled, false);
|
|
|
|
Event e = Event.current;
|
|
if (e.type == EventType.MouseDown)
|
|
{
|
|
if (toggleRect.Contains(e.mousePosition) && enabledField != null)
|
|
{
|
|
enabledField.boolValue = !enabledField.boolValue;
|
|
e.Use();
|
|
}
|
|
else if (rect.Contains(e.mousePosition) && group != null)
|
|
{
|
|
display = !display;
|
|
group.isExpanded = !group.isExpanded;
|
|
e.Use();
|
|
}
|
|
}
|
|
return display;
|
|
}
|
|
}
|
|
}
|