Files
2024-11-20 15:21:28 +01:00

81 lines
1.8 KiB
C#

// Cristian Pop - https://boxophobic.com/
using UnityEngine;
using UnityEditor;
using System;
namespace Boxophobic.StyledGUI
{
public class StyledToggleDrawer : MaterialPropertyDrawer
{
public float width = 0;
public StyledToggleDrawer()
{
}
public StyledToggleDrawer(float width)
{
this.width = width;
}
public override void OnGUI(Rect position, MaterialProperty prop, String label, MaterialEditor materialEditor)
{
Material material = materialEditor.target as Material;
if (width == 0)
{
bool toggle = false;
if (prop.floatValue > 0.5f)
{
toggle = true;
}
toggle = EditorGUILayout.Toggle(label, toggle);
if (toggle)
{
prop.floatValue = 1;
}
else
{
prop.floatValue = 0;
}
}
else
{
GUILayout.BeginHorizontal();
GUILayout.Label(label);
bool toggle = false;
if (prop.floatValue > 0.5f)
{
toggle = true;
}
toggle = GUILayout.Toggle(toggle, "", GUILayout.Width(width));
if (toggle)
{
prop.floatValue = 1;
}
else
{
prop.floatValue = 0;
}
GUILayout.EndHorizontal();
}
}
public override float GetPropertyHeight(MaterialProperty prop, string label, MaterialEditor editor)
{
return -2;
}
}
}