更新
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
#if UNITY_EDITOR
|
||||
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace GraphicsCat.MarkupShaderGUIInternal
|
||||
{
|
||||
public class DrawHelper
|
||||
{
|
||||
static readonly Color k_LineColorLight = new Color(0.8f, 0.8f, 0.8f, 1);
|
||||
static readonly Color k_LineColorDark = new Color(0.8f, 0.8f, 0.8f, 1) * 2.7f;
|
||||
|
||||
public static void DrawLine()
|
||||
{
|
||||
var previousColor = GUI.color;
|
||||
GUI.color = EditorGUIUtility.isProSkin ? k_LineColorDark : k_LineColorLight;
|
||||
GUILayout.Box("", GUILayout.Height(1), GUILayout.ExpandWidth(true));
|
||||
GUI.color = previousColor;
|
||||
}
|
||||
|
||||
public static void DrawSeparator()
|
||||
{
|
||||
const int SpacePixelds = 3;
|
||||
GUILayout.Space(SpacePixelds);
|
||||
DrawHelper.DrawLine();
|
||||
GUILayout.Space(SpacePixelds);
|
||||
}
|
||||
|
||||
public static float DrawFloatRange(string displayName, float val, float min, float max)
|
||||
{
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
var guiConent = GUIUtils.TempContent(displayName);
|
||||
GUILayout.Label(guiConent, GUILayout.ExpandWidth(false));
|
||||
val = GUILayout.HorizontalSlider(val, min, max, GUILayout.ExpandWidth(true));
|
||||
val = EditorGUILayout.FloatField(val, GUILayout.Width(40));
|
||||
EditorGUILayout.EndHorizontal();
|
||||
return val;
|
||||
}
|
||||
|
||||
public static void DrawLeftRight(string label, ref float left, ref float right, float min = 0, float max = 1, float strict = 1)
|
||||
{
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
{
|
||||
var guiConent = GUIUtils.TempContent(label);
|
||||
GUILayout.Label(guiConent, GUILayout.MinWidth(103.0f));
|
||||
|
||||
left = EditorGUILayout.FloatField(left);
|
||||
left = Mathf.Clamp(left, min, max);
|
||||
if (strict == 1)
|
||||
{
|
||||
if (left > right)
|
||||
left = right;
|
||||
}
|
||||
|
||||
right = EditorGUILayout.FloatField(right);
|
||||
right = Mathf.Clamp(right, min, max);
|
||||
if (strict == 1)
|
||||
{
|
||||
if (right < left)
|
||||
right = left;
|
||||
}
|
||||
}
|
||||
EditorGUILayout.EndHorizontal();
|
||||
|
||||
EditorGUILayout.MinMaxSlider(ref left, ref right, min, max);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user