Quero criar uma ferramenta semelhante à ferramenta Terreno do Unity, que possui alguns botões de alternância no inspetor:

Como posso obter um design semelhante a isso? Sei como criar botões normais e outros componentes da interface do usuário no inspetor, mas não consigo encontrar informações suficientes para alternar os botões.
Até agora, usei alternadores normais que produzem uma caixa de seleção:
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;
}
Definir a alternância GUIStylepara "Botão" não produz o resultado desejado. O conteúdo do texto ou da imagem fica à esquerda do botão em vez de dentro.
var tmp = EditorGUILayout.Toggle( SetAmountFieldContent, _setValue, "Button" );

Além disso, nenhuma das opções encontradas no GUISkin parece não ajudar.


_smoothValue = !GUILayout.Button( SetAmountFieldContent, _smoothValue ? ToggleButtonStyleToggled : ToggleButtonStyleNormal), em vez de ter dois booleanos? Isso funciona bem para mim e o código parece próximo ao uso do botão / alternância padrão da unidade