Я хочу створити інструмент, подібний до інструменту Unin's Terrain, який має кілька приємних перемикачів в інспекторі:
Як я можу досягти подібного дизайну до цього? Я знаю, як створити звичайні кнопки та інші компоненти інтерфейсу в інспекторі, але я не можу знайти достатньо інформації, щоб перемикати кнопки.
Поки що я використовував звичайні перемикачі, які створюють прапорець:
var tmp = EditorGUILayout.Toggle( SetAmountFieldContent, _setValue );
if ( tmp != _setValue )
{
_setValue = tmp;
if ( _setValue )
_smoothValue = false;
}
tmp = EditorGUILayout.Toggle( SmoothValueFieldContent, _smoothValue );
if ( tmp != _smoothValue )
{
_smoothValue = tmp;
if ( _smoothValue )
_setValue = false;
}
Встановлення перемикача GUIStyle
на "Кнопка" не дає бажаного результату. Текстовий або графічний вміст йде ліворуч від кнопки замість всередині.
var tmp = EditorGUILayout.Toggle( SetAmountFieldContent, _setValue, "Button" );
Крім того, жоден із варіантів, знайдених у GUISkin , не здається, допоможе.
_smoothValue = !GUILayout.Button( SetAmountFieldContent, _smoothValue ? ToggleButtonStyleToggled : ToggleButtonStyleNormal)
, а не двома булевими? Це добре працює для мене, і код схожий на використання кнопки / перемикача стаднарда єдності