Quiero crear una herramienta similar a la herramienta Terreno de Unity, que tiene algunos botones de alternancia agradables en el inspector:
¿Cómo puedo lograr un diseño similar a este? Sé cómo crear botones normales y otros componentes de la interfaz de usuario en el inspector, pero no puedo encontrar suficiente información para activar o desactivar los botones.
Hasta ahora he usado conmutadores normales que producen una casilla de verificación:
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;
}
Establecer la palanca GUIStyle
en "Botón" no produce el resultado deseado. El contenido del texto o la imagen va a la izquierda del botón en lugar de adentro.
var tmp = EditorGUILayout.Toggle( SetAmountFieldContent, _setValue, "Button" );
Además, ninguna de las opciones encontradas en GUISkin no parece ayudar.
_smoothValue = !GUILayout.Button( SetAmountFieldContent, _smoothValue ? ToggleButtonStyleToggled : ToggleButtonStyleNormal)
lugar de tener dos booleanos? Eso funciona bien para mí y el código parece estar cerca de usar el botón / alternar de la unidad estándar