123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- // Cristian Pop - https://boxophobic.com/
- using UnityEngine;
- using UnityEditor;
- using System;
- namespace Boxophobic.StyledGUI
- {
- public class StyledMessageDrawer : MaterialPropertyDrawer
- {
- public string type;
- public string message;
- public string keyword;
- public float value;
- public float top;
- public float down;
- MessageType mType;
- public StyledMessageDrawer(string t, string m)
- {
- type = t;
- message = m;
- keyword = null;
- this.top = 0;
- this.down = 0;
- }
- public StyledMessageDrawer(string t, string m, float top, float down)
- {
- type = t;
- message = m;
- keyword = null;
- this.top = top;
- this.down = down;
- }
- public StyledMessageDrawer(string t, string m, string k, float v, float top, float down)
- {
- type = t;
- message = m;
- keyword = k;
- value = v;
- this.top = top;
- this.down = down;
- }
- public override void OnGUI(Rect position, MaterialProperty prop, String label, MaterialEditor materialEditor)
- {
- Material material = materialEditor.target as Material;
- if (type == "None")
- {
- mType = MessageType.None;
- }
- else if (type == "Info")
- {
- mType = MessageType.Info;
- }
- else if (type == "Warning")
- {
- mType = MessageType.Warning;
- }
- else if (type == "Error")
- {
- mType = MessageType.Error;
- }
- if (keyword != null)
- {
- if (material.HasProperty(keyword))
- {
- if (material.GetFloat(keyword) == value)
- {
- GUILayout.Space(top);
- //EditorGUI.DrawRect(new Rect(position.x, position.y + Top, position.width, position.height), new Color(1,0,0,0.3f));
- EditorGUILayout.HelpBox(message, mType);
- //EditorGUI.HelpBox(new Rect(position.x, position.y + top, position.width, position.height), message, mType);
- GUILayout.Space(down);
- }
- }
- }
- else
- {
- GUILayout.Space(top);
- EditorGUILayout.HelpBox(message, mType);
- GUILayout.Space(down);
- }
- }
- public override float GetPropertyHeight(MaterialProperty prop, string label, MaterialEditor editor)
- {
- return -2;
- }
- }
- }
|