Files
XCharts/Assets/XChartsDemo/Editor/ChartModuleDrawer.cs
monitor1394 a1c2f554d4 XCharts 2.0
2021-01-11 08:54:28 +08:00

53 lines
2.3 KiB
C#

/************************************************/
/* */
/* Copyright (c) 2018 - 2021 monitor1394 */
/* https://github.com/monitor1394 */
/* */
/************************************************/
using UnityEditor;
using UnityEngine;
namespace XChartsDemo
{
[CustomPropertyDrawer(typeof(ChartModule), true)]
public class ChartModuleDrawer : PropertyDrawer
{
public override void OnGUI(Rect pos, SerializedProperty prop, GUIContent label)
{
Rect drawRect = pos;
drawRect.height = EditorGUIUtility.singleLineHeight;
var lastX = drawRect.x;
var lastWid = drawRect.width;
SerializedProperty m_Column = prop.FindPropertyRelative("m_Column");
SerializedProperty m_Name = prop.FindPropertyRelative("m_Name");
SerializedProperty m_SubName = prop.FindPropertyRelative("m_SubName");
SerializedProperty m_Title = prop.FindPropertyRelative("m_Title");
SerializedProperty m_Selected = prop.FindPropertyRelative("m_Selected");
SerializedProperty m_Panel = prop.FindPropertyRelative("m_Panel");
var fieldWid = EditorGUIUtility.currentViewWidth - 30 - 5 - 40 - 80 - 50 - 100 - 6 * 2;
drawRect.width = 15;
EditorGUI.PropertyField(drawRect, m_Selected, GUIContent.none);
drawRect.x += 17;
drawRect.width = 80;
EditorGUI.PropertyField(drawRect, m_Name, GUIContent.none);
drawRect.x += 82;
drawRect.width = 50;
EditorGUI.PropertyField(drawRect, m_SubName, GUIContent.none);
drawRect.x += 52;
drawRect.width = fieldWid;
EditorGUI.PropertyField(drawRect, m_Title, GUIContent.none);
drawRect.x += fieldWid + 2;
drawRect.width = 100;
EditorGUI.PropertyField(drawRect, m_Panel, GUIContent.none);
drawRect.x += 102;
drawRect.width = 40;
EditorGUI.PropertyField(drawRect, m_Column, GUIContent.none);
}
public override float GetPropertyHeight(SerializedProperty prop, GUIContent label)
{
return 1 * EditorGUIUtility.singleLineHeight + 1 * EditorGUIUtility.standardVerticalSpacing;
}
}
}