我想创建一个类似于Unity地形工具的工具,该工具在检查器中具有一些不错的切换按钮:
如何实现与此类似的设计?我知道如何在检查器中创建普通按钮和其他UI组件,但是我找不到足够的信息来使按钮切换。
到目前为止,我已经使用了产生复选框的普通切换:
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;
}
将切换开关设置GUIStyle
为“按钮”不会产生所需的结果。文本或图像内容位于按钮的左侧而不是内部。
var tmp = EditorGUILayout.Toggle( SetAmountFieldContent, _setValue, "Button" );
同样,在GUISkin中找到的所有选项似乎都没有帮助。
_smoothValue = !GUILayout.Button( SetAmountFieldContent, _smoothValue ? ToggleButtonStyleToggled : ToggleButtonStyleNormal)
而不是两个布尔值呢?这对我来说效果很好,代码看起来接近使用标准统一按钮/切换