using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEngine; namespace VketCloudGUITools.Editor { /// /// Toggleクラスの描画をコンパクト化 /// [CustomPropertyDrawer(typeof(Runtime.VCStateToggle))] // DataクラスのInspector表示をカスタム public class DataPropertyDrawer : PropertyDrawer { const int nameLabelWidth = 50; const int stateLabelWidth = 50; const int stateCheckBoxWidth = 20; const int scrollBarWidth = 16; const int sumWidth = nameLabelWidth + stateLabelWidth + stateCheckBoxWidth + scrollBarWidth; public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { // 表示幅 float[] widthes = { nameLabelWidth, position.width - sumWidth, stateLabelWidth, stateCheckBoxWidth, scrollBarWidth }; if (property != null) { position.width = widthes[0]; EditorGUI.LabelField(position, "Name: "); position.x += position.width; position.width = widthes[1]; EditorGUI.PropertyField(position, property.FindPropertyRelative("_name"), GUIContent.none); position.x += position.width; position.width = widthes[2]; EditorGUI.LabelField(position, " State: "); position.x += position.width; position.width = widthes[3]; EditorGUI.PropertyField(position, property.FindPropertyRelative("_state"), GUIContent.none); position.x += position.width; position.width = widthes[4]; } } } }