Chcę stworzyć narzędzie podobne do narzędzia terenu Unity, które ma kilka fajnych przycisków przełączania w inspektorze:
Jak mogę uzyskać podobny projekt do tego? Wiem, jak tworzyć normalne przyciski i inne komponenty interfejsu w inspektorze, ale nie mogę znaleźć wystarczającej ilości informacji, aby przełączać przyciski.
Do tej pory używałem normalnych przełączników, które generują pole wyboru:
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;
}
Ustawienie przełącznika GUIStyle
na „Przycisk” nie daje pożądanego rezultatu. Treść tekstu lub obrazu znajduje się po lewej stronie przycisku zamiast w środku.
var tmp = EditorGUILayout.Toggle( SetAmountFieldContent, _setValue, "Button" );
Również żadna z opcji znalezionych w GUISkin nie wydaje się pomóc.
_smoothValue = !GUILayout.Button( SetAmountFieldContent, _smoothValue ? ToggleButtonStyleToggled : ToggleButtonStyleNormal)
zamiast dwóch booleanów? Działa to dla mnie dobrze, a kod wygląda na to, że używam przycisku / przełączników Stadnard UnityToggle zwraca bieżący stan przycisku - albo ten sam stan przekazany w wartości, albo nową wartość zmienioną przez użytkownika. Lepszym wzorem byłby więc ...
Możesz użyć tego samego wzorca wymiany zależnego od stanu dla GUIStyles.
źródło
Oto prosty, ale prosty sposób:
zabrane stąd
źródło
Użyj GUILayout.Toolbar . Dokumenty wprowadzają w błąd, w rzeczywistości uruchamiają przyciski razem:
Dodatkowo możesz użyć stylów „buttonleft”, „buttonmid”, „buttonright”, aby narysować te style przycisków bezpośrednio.
źródło
Możesz to zrobić:
Bardzo ważne jest, abyś włączył się do
buttonStyle
środka, wOnInspectorGUI()
przeciwnym razie wystąpi błąd. Nie rób też tego,buttonStyle = GUI.skin.button;
ponieważ kopiujeszskin.button
odwołanie, a każda zmianabuttonStyle
spowoduje zmianę wszystkich stylów przycisków.źródło