Tôi muốn tạo một công cụ tương tự như công cụ Địa hình của Unity, có một số nút chuyển đổi đẹp trong trình kiểm tra:
Làm thế nào tôi có thể đạt được thiết kế tương tự như thế này? Tôi biết cách tạo các nút bình thường và các thành phần UI khác trong trình kiểm tra, nhưng tôi không thể tìm thấy đủ thông tin để làm cho các nút chuyển đổi.
Cho đến nay tôi đã sử dụng các toggles bình thường tạo ra một hộp kiểm:
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;
}
Đặt nút chuyển GUIStyle
thành "Nút" không tạo ra kết quả mong muốn. Nội dung văn bản hoặc hình ảnh nằm bên trái nút thay vì bên trong.
var tmp = EditorGUILayout.Toggle( SetAmountFieldContent, _setValue, "Button" );
Ngoài ra, không có tùy chọn nào được tìm thấy trong GUISkin dường như không có ích.
_smoothValue = !GUILayout.Button( SetAmountFieldContent, _smoothValue ? ToggleButtonStyleToggled : ToggleButtonStyleNormal)
, thay vì có hai booleans? Điều đó hoạt động tốt đối với tôi và mã trông gần giống với việc sử dụng nút / toggles stadnard