Voglio creare uno strumento simile allo strumento Terreno di Unity, che ha alcuni pulsanti di attivazione / disattivazione nell'ispettore:
Come posso ottenere un design simile a questo? So come creare pulsanti normali e altri componenti dell'interfaccia utente in Impostazioni, ma non riesco a trovare informazioni sufficienti per attivare / disattivare i pulsanti.
Finora ho usato le normali levette che producono una casella di controllo:
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;
}
Impostando l'interruttore GUIStyle
su "Pulsante" non si ottiene il risultato desiderato. Il contenuto del testo o dell'immagine va a sinistra del pulsante anziché all'interno.
var tmp = EditorGUILayout.Toggle( SetAmountFieldContent, _setValue, "Button" );
Inoltre, nessuna delle opzioni disponibili in GUISkin non sembra essere d'aiuto.
_smoothValue = !GUILayout.Button( SetAmountFieldContent, _smoothValue ? ToggleButtonStyleToggled : ToggleButtonStyleNormal)
, invece di avere due booleani? Funziona bene per me e il codice sembra vicino all'uso del pulsante / interruttori di stadnard unity