Ich möchte ein Tool erstellen, das dem Terrain-Tool von Unity ähnelt und einige nützliche Schaltflächen im Inspector enthält:
Wie kann ich ein ähnliches Design erzielen? Ich weiß, wie normale Schaltflächen und andere UI-Komponenten im Inspektor erstellt werden, aber ich kann nicht genügend Informationen finden, um die Schaltflächen umzuschalten.
Bisher habe ich normale Schalter verwendet, die eine Checkbox erzeugen:
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;
}
Wenn Sie den Schalter GUIStyle
auf "Button" stellen, wird das gewünschte Ergebnis nicht erzielt. Der Text- oder Bildinhalt wird links von der Schaltfläche und nicht innen angezeigt.
var tmp = EditorGUILayout.Toggle( SetAmountFieldContent, _setValue, "Button" );
Auch scheint keine der in GUISkin gefundenen Optionen zu helfen.
_smoothValue = !GUILayout.Button( SetAmountFieldContent, _smoothValue ? ToggleButtonStyleToggled : ToggleButtonStyleNormal)
, anstatt zwei Booleaner zu haben? Das funktioniert gut für mich und den Code sieht schließen stadnard Einheit Knopf / Knebel mit