From 5b158af90739dcbb89c1538a6cb8c65a875dce80 Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 26 Nov 2020 20:52:34 +0800 Subject: *misc --- .../Editor/StyledMaterial/StyledButtonDrawer.cs | 71 ++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 Assets/BOXOPHOBIC/Utils/Editor/StyledMaterial/StyledButtonDrawer.cs (limited to 'Assets/BOXOPHOBIC/Utils/Editor/StyledMaterial/StyledButtonDrawer.cs') diff --git a/Assets/BOXOPHOBIC/Utils/Editor/StyledMaterial/StyledButtonDrawer.cs b/Assets/BOXOPHOBIC/Utils/Editor/StyledMaterial/StyledButtonDrawer.cs new file mode 100644 index 00000000..4c1a46ae --- /dev/null +++ b/Assets/BOXOPHOBIC/Utils/Editor/StyledMaterial/StyledButtonDrawer.cs @@ -0,0 +1,71 @@ +// Cristian Pop - https://boxophobic.com/ + +using UnityEngine; +using UnityEditor; +using System; + +namespace Boxophobic.StyledGUI +{ + public class StyledButtonDrawer : MaterialPropertyDrawer + { + public string text; + public string target = ""; + public float value = 1; + public float top; + public float down; + + public StyledButtonDrawer(string text) + { + this.text = text; + this.value = 1; + this.top = 0; + this.down = 0; + } + + public StyledButtonDrawer(string text, float value, float top, float down) + { + this.text = text; + this.value = value; + this.top = top; + this.down = down; + } + + public StyledButtonDrawer(string text, string target, float value, float top, float down) + { + this.text = text; + this.target = target; + this.value = value; + this.top = top; + this.down = down; + } + + public override void OnGUI(Rect position, MaterialProperty prop, String label, MaterialEditor materialEditor) + { + Material material = materialEditor.target as Material; + + GUILayout.Space(top); + + if (GUILayout.Button(text)) + { + if (target == "") + { + prop.floatValue = value; + } + else + { + if (material.HasProperty(target)) + { + material.SetFloat(target, value); + } + } + } + + GUILayout.Space(down); + } + + public override float GetPropertyHeight(MaterialProperty prop, string label, MaterialEditor editor) + { + return -2; + } + } +} -- cgit v1.1-26-g67d0