From 6ae48ff30e6ab4ab948c8745c0305116a554dfd3 Mon Sep 17 00:00:00 2001 From: logonkhi Date: Fri, 9 Jan 2026 18:42:17 +0900 Subject: [PATCH] =?UTF-8?q?UIToolkit=20=EC=8A=A4=ED=83=80=EC=9D=BC=20?= =?UTF-8?q?=EB=B0=8F=20=EC=9E=85=EB=A0=A5=20=EC=BB=B4=ED=8F=AC=EB=84=8C?= =?UTF-8?q?=ED=8A=B8=20=EC=B6=94=EA=B0=80=20-=20=EA=B8=B0=EB=B3=B8=20?= =?UTF-8?q?=EC=8A=A4=ED=83=80=EC=9D=BC=EC=9D=84=20=EC=9C=84=ED=95=9C=20UTK?= =?UTF-8?q?DefaultStyle.uss=ED=8C=8C=EC=9D=BC=EC=9D=84=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1=ED=96=88=EC=8A=B5=EB=8B=88=EB=8B=A4.=20-=20UIToolkit?= =?UTF-8?q?=20=EC=84=A4=EC=A0=95=20=EA=B5=AC=EC=84=B1=EC=9D=84=20=EC=9C=84?= =?UTF-8?q?=ED=95=9C=20UTKSettings.asset=20=ED=8C=8C=EC=9D=BC=EC=9D=84=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=ED=96=88=EC=8A=B5=EB=8B=88=EB=8B=A4.=20-=20?= =?UTF-8?q?=ED=8F=AC=EA=B4=84=EC=A0=81=EC=9D=B8=20=EC=83=89=EC=83=81=20?= =?UTF-8?q?=EC=A0=95=EC=9D=98=EB=A5=BC=20=ED=8F=AC=ED=95=A8=ED=95=98?= =?UTF-8?q?=EB=8A=94=20=EB=8B=A4=ED=81=AC=20=EB=B0=8F=20=EB=9D=BC=EC=9D=B4?= =?UTF-8?q?=ED=8A=B8=20=ED=85=8C=EB=A7=88=20=EC=8A=A4=ED=83=80=EC=9D=BC(UT?= =?UTF-8?q?KThemeDark.uss,=20UTKThemeLight.uss)=EC=9D=84=20=EB=8F=84?= =?UTF-8?q?=EC=9E=85=ED=96=88=EC=8A=B5=EB=8B=88=EB=8B=A4.=20-=20=ED=85=8C?= =?UTF-8?q?=EB=A7=88=EC=97=90=20=EB=8F=85=EB=A6=BD=EC=A0=81=EC=9D=B8=20?= =?UTF-8?q?=EB=A0=88=EC=9D=B4=EC=95=84=EC=9B=83=20=EB=B0=8F=20=ED=81=AC?= =?UTF-8?q?=EA=B8=B0=20=EB=B3=80=EC=88=98=EB=A5=BC=20=EC=9C=84=ED=95=9C=20?= =?UTF-8?q?UTKVariables.uss=EB=A5=BC=20=EA=B5=AC=ED=98=84=ED=96=88?= =?UTF-8?q?=EC=8A=B5=EB=8B=88=EB=8B=A4.=20-=20=EC=8A=A4=ED=83=80=EC=9D=BC?= =?UTF-8?q?=20=EB=B0=8F=20=EC=9D=B4=EB=B2=A4=ED=8A=B8=20=EC=B2=98=EB=A6=AC?= =?UTF-8?q?=EB=A5=BC=20=ED=86=B5=ED=95=B4=20=EC=97=B4=EA=B1=B0=ED=98=95=20?= =?UTF-8?q?=EC=84=A0=ED=83=9D=EC=9D=84=20=EC=9C=84=ED=95=9C=20=EC=82=AC?= =?UTF-8?q?=EC=9A=A9=EC=9E=90=20=EC=A7=80=EC=A0=95=20=EB=93=9C=EB=A1=AD?= =?UTF-8?q?=EB=8B=A4=EC=9A=B4=20=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8(UTKEn?= =?UTF-8?q?umDropDown)=EB=A5=BC=20=EA=B0=9C=EB=B0=9C=ED=96=88=EC=8A=B5?= =?UTF-8?q?=EB=8B=88=EB=8B=A4.=20-=20=EC=82=AC=EC=9A=A9=EC=9E=90=20?= =?UTF-8?q?=EC=A7=80=EC=A0=95=20=EC=8A=A4=ED=83=80=EC=9D=BC=20=EB=B0=8F=20?= =?UTF-8?q?=EC=9D=B4=EB=B2=A4=ED=8A=B8=20=EA=B4=80=EB=A6=AC=EB=A5=BC=20?= =?UTF-8?q?=ED=86=B5=ED=95=B4=20=EA=B0=81=EA=B0=81=20=EC=9D=B4=EC=A4=91=20?= =?UTF-8?q?=EC=9E=85=EB=A0=A5=20=ED=95=84=EB=93=9C=EC=99=80=20=EA=B8=B4=20?= =?UTF-8?q?=EC=9E=85=EB=A0=A5=20=ED=95=84=EB=93=9C=EB=A5=BC=20=EC=9C=84?= =?UTF-8?q?=ED=95=9C=20UTKDoubleField=20=EB=B0=8F=20UTKLongField=20?= =?UTF-8?q?=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=EB=A5=BC=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1=ED=96=88=EC=8A=B5=EB=8B=88=EB=8B=A4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .claude/settings.local.json | 4 +- Assets/Resources/SHI/Modal/ISOP/ISOPChart.uss | 10 +- Assets/Resources/SHI/Modal/NW/NWChart.uss | 2 +- .../Resources/UIToolkit/Button/UTKButton.uss | 5 +- .../UIToolkit/Button/UTKCheckBox.uss | 4 +- .../UIToolkit/Button/UTKRadioButton.uss | 4 +- .../Resources/UIToolkit/Button/UTKToggle.uss | 4 +- Assets/Resources/UIToolkit/Card/UTKCard.uss | 2 +- .../UIToolkit/Document/StaticDocument.uxml | 2 +- .../UIToolkit/Dropdown/UTKDropdown.uss | 14 +- .../{UTKEnumField.uss => UTKEnumDropDown.uss} | 42 ++--- ...ield.uss.meta => UTKEnumDropDown.uss.meta} | 2 +- .../UIToolkit/Images/cursor_arc_32.png | Bin 0 -> 418 bytes .../UIToolkit/Images/cursor_arc_32.png.meta | 117 ++++++++++++++ .../UIToolkit/Images/cursor_ask_32.png | Bin 0 -> 806 bytes .../UIToolkit/Images/cursor_ask_32.png.meta | 143 +++++++++++++++++ .../Images/cursor_context_menu_32.png | Bin 0 -> 1210 bytes .../Images/cursor_context_menu_32.png.meta | 143 +++++++++++++++++ .../UIToolkit/Images/cursor_copy_32.png | Bin 0 -> 1208 bytes .../UIToolkit/Images/cursor_copy_32.png.meta | 143 +++++++++++++++++ .../Images/cursor_default_black_32.png | Bin 0 -> 1021 bytes .../Images/cursor_default_black_32.png.meta | 143 +++++++++++++++++ .../Images/cursor_default_white_32.png | Bin 0 -> 1137 bytes .../Images/cursor_default_white_32.png.meta | 143 +++++++++++++++++ .../UIToolkit/Images/cursor_export_32.png | Bin 0 -> 953 bytes .../Images/cursor_export_32.png.meta | 143 +++++++++++++++++ .../UIToolkit/Images/cursor_grabbing_32.png | Bin 0 -> 900 bytes .../Images/cursor_grabbing_32.png.meta | 143 +++++++++++++++++ .../UIToolkit/Images/cursor_hand_32.png | Bin 0 -> 1059 bytes .../UIToolkit/Images/cursor_hand_32.png.meta | 143 +++++++++++++++++ .../UIToolkit/Images/cursor_link_32.png | Bin 0 -> 454 bytes .../UIToolkit/Images/cursor_link_32.png.meta | 117 ++++++++++++++ .../UIToolkit/Images/cursor_move_32.png | Bin 0 -> 928 bytes .../UIToolkit/Images/cursor_move_32.png.meta | 143 +++++++++++++++++ .../UIToolkit/Images/cursor_node_32.png | Bin 0 -> 482 bytes .../UIToolkit/Images/cursor_node_32.png.meta | 117 ++++++++++++++ .../Images/cursor_point_white_32.png | Bin 0 -> 1016 bytes .../Images/cursor_point_white_32.png.meta | 143 +++++++++++++++++ .../UIToolkit/Images/cursor_resize_col_32.png | Bin 0 -> 864 bytes .../Images/cursor_resize_col_32.png.meta | 143 +++++++++++++++++ .../Images/cursor_resize_down_32.png | Bin 0 -> 749 bytes .../Images/cursor_resize_down_32.png.meta | 143 +++++++++++++++++ .../UIToolkit/Images/cursor_resize_h_32.png | Bin 0 -> 847 bytes .../Images/cursor_resize_h_32.png.meta | 143 +++++++++++++++++ .../Images/cursor_resize_left_32.png | Bin 0 -> 834 bytes .../Images/cursor_resize_left_32.png.meta | 143 +++++++++++++++++ .../Images/cursor_resize_right_32.png | Bin 0 -> 835 bytes .../Images/cursor_resize_right_32.png.meta | 143 +++++++++++++++++ .../UIToolkit/Images/cursor_resize_row_32.png | Bin 0 -> 888 bytes .../Images/cursor_resize_row_32.png.meta | 143 +++++++++++++++++ .../Images/cursor_resize_tlbr_32.png | Bin 0 -> 981 bytes .../Images/cursor_resize_tlbr_32.png.meta | 143 +++++++++++++++++ .../Images/cursor_resize_trbl_32.png | Bin 0 -> 966 bytes .../Images/cursor_resize_trbl_32.png.meta | 143 +++++++++++++++++ .../UIToolkit/Images/cursor_resize_up_32.png | Bin 0 -> 723 bytes .../Images/cursor_resize_up_32.png.meta | 143 +++++++++++++++++ .../UIToolkit/Images/cursor_resize_v_32.png | Bin 0 -> 990 bytes .../Images/cursor_resize_v_32.png.meta | 143 +++++++++++++++++ .../Images/cursor_rotate_bottom_left_32.png | Bin 0 -> 1177 bytes .../cursor_rotate_bottom_left_32.png.meta | 143 +++++++++++++++++ .../Images/cursor_rotate_bottom_right_32.png | Bin 0 -> 1192 bytes .../cursor_rotate_bottom_right_32.png.meta | 143 +++++++++++++++++ .../Images/cursor_rotate_top_left_32.png | Bin 0 -> 1204 bytes .../Images/cursor_rotate_top_left_32.png.meta | 143 +++++++++++++++++ .../Images/cursor_rotate_top_right_32.png | Bin 0 -> 1224 bytes .../cursor_rotate_top_right_32.png.meta | 143 +++++++++++++++++ .../UIToolkit/Images/cursor_select_32.png | Bin 0 -> 871 bytes .../Images/cursor_select_32.png.meta | 143 +++++++++++++++++ .../UIToolkit/Images/cursor_wait_32.png | Bin 0 -> 857 bytes .../UIToolkit/Images/cursor_wait_32.png.meta | 143 +++++++++++++++++ .../UIToolkit/Images/cursor_zoom_in_32.png | Bin 0 -> 1112 bytes .../Images/cursor_zoom_in_32.png.meta | 143 +++++++++++++++++ .../UIToolkit/Images/cursor_zoom_out_32.png | Bin 0 -> 1127 bytes .../Images/cursor_zoom_out_32.png.meta | 143 +++++++++++++++++ .../UIToolkit/Input/UTKBoundsField.uss | 18 ++- .../UIToolkit/Input/UTKDoubleField.uss | 78 +++++++++ .../UIToolkit/Input/UTKDoubleField.uss.meta | 11 ++ .../UIToolkit/Input/UTKFloatField.uss | 5 +- .../UIToolkit/Input/UTKInputField.uss | 49 ++---- .../UIToolkit/Input/UTKIntegerField.uss | 5 +- .../UIToolkit/Input/UTKLongField.uss | 78 +++++++++ .../UIToolkit/Input/UTKLongField.uss.meta | 11 ++ .../UIToolkit/Input/UTKRectField.uss | 13 +- .../UIToolkit/Input/UTKVector2Field.uss | 10 +- .../UIToolkit/Input/UTKVector3Field.uss | 10 +- .../UIToolkit/Input/UTKVector4Field.uss | 7 +- .../UIToolkit/List/UTKAccordionList.uss | 2 +- .../Resources/UIToolkit/List/UTKImageList.uss | 2 +- .../Resources/UIToolkit/List/UTKListView.uss | 58 +++---- .../UIToolkit/List/UTKMultiColumnListView.uss | 15 +- .../UIToolkit/List/UTKMultiColumnTreeView.uss | 10 +- .../Resources/UIToolkit/List/UTKTreeView.uss | 2 +- Assets/Resources/UIToolkit/Modal/UTKPanel.uss | 2 +- .../UIToolkit/Property/UTKPropertyCommon.uss | 7 +- .../UIToolkit/Property/UTKPropertyWindow.uss | 4 +- .../UIToolkit/Sample/UTKStyleGuideSample.uss | 2 +- .../UIToolkit/Slider/UTKMinMaxSlider.uss | 9 +- .../UIToolkit/Slider/UTKProgressBar.uss | 6 +- .../Resources/UIToolkit/Slider/UTKSlider.uss | 29 ++-- .../UIToolkit/{Settings.meta => Style.meta} | 0 .../{Settings => Style}/UTKComponents.uss | 89 ++++++++++- .../UTKComponents.uss.meta | 0 .../UTKDefaultRuntimeTheme.tss | 0 .../UTKDefaultRuntimeTheme.tss.meta | 0 .../{Settings => Style}/UTKDefaultStyle.uss | 148 ++++++++++++++++-- .../UTKDefaultStyle.uss.meta | 0 .../{Settings => Style}/UTKSettings.asset | 0 .../UTKSettings.asset.meta | 0 .../{Settings => Style}/UTKThemeDark.uss | 0 .../{Settings => Style}/UTKThemeDark.uss.meta | 0 .../{Settings => Style}/UTKThemeLight.uss | 0 .../UTKThemeLight.uss.meta | 0 .../{Settings => Style}/UTKVariables.uss | 5 +- .../{Settings => Style}/UTKVariables.uss.meta | 0 Assets/Resources/UIToolkit/Tab/UTKTab.uss | 4 +- .../Window/UTKComponentListWindow.uss | 2 +- .../Sample/UIToolkit/UTKStyleGuideSample.cs | 88 +++++++++-- .../UIToolkit/UTKStyleGuideSample.unity | 45 ++++++ .../{UTKEnumField.cs => UTKEnumDropDown.cs} | 14 +- .../Dropdown/UTKEnumDropDown.cs.meta | 2 + .../UIToolkit/Dropdown/UTKEnumField.cs.meta | 2 - .../UVC/UIToolkit/Input/UTKBoundsField.cs | 91 +++++++++++ .../UVC/UIToolkit/Input/UTKDoubleField.cs | 118 ++++++++++++++ .../UIToolkit/Input/UTKDoubleField.cs.meta | 2 + .../UVC/UIToolkit/Input/UTKLongField.cs | 118 ++++++++++++++ .../UVC/UIToolkit/Input/UTKLongField.cs.meta | 2 + .../UVC/UIToolkit/Input/UTKRectField.cs | 68 ++++++++ .../UVC/UIToolkit/Input/UTKVector2Field.cs | 40 +++++ .../UVC/UIToolkit/Input/UTKVector3Field.cs | 54 +++++++ .../UVC/UIToolkit/Input/UTKVector4Field.cs | 68 ++++++++ .../Scripts/UVC/UIToolkit/List/UTKListView.cs | 4 + .../Scripts/UVC/UIToolkit/UTKThemeManager.cs | 10 +- CLAUDE.md | 10 +- 133 files changed, 5654 insertions(+), 223 deletions(-) rename Assets/Resources/UIToolkit/Dropdown/{UTKEnumField.uss => UTKEnumDropDown.uss} (69%) rename Assets/Resources/UIToolkit/Dropdown/{UTKEnumField.uss.meta => UTKEnumDropDown.uss.meta} (87%) create mode 100644 Assets/Resources/UIToolkit/Images/cursor_arc_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_arc_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_ask_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_ask_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_context_menu_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_context_menu_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_copy_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_copy_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_default_black_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_default_black_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_default_white_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_default_white_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_export_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_export_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_grabbing_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_grabbing_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_hand_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_hand_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_link_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_link_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_move_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_move_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_node_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_node_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_point_white_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_point_white_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_resize_col_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_resize_col_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_resize_down_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_resize_down_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_resize_h_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_resize_h_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_resize_left_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_resize_left_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_resize_right_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_resize_right_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_resize_row_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_resize_row_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_resize_tlbr_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_resize_tlbr_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_resize_trbl_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_resize_trbl_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_resize_up_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_resize_up_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_resize_v_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_resize_v_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_rotate_bottom_left_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_rotate_bottom_left_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_rotate_bottom_right_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_rotate_bottom_right_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_rotate_top_left_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_rotate_top_left_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_rotate_top_right_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_rotate_top_right_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_select_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_select_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_wait_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_wait_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_zoom_in_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_zoom_in_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Images/cursor_zoom_out_32.png create mode 100644 Assets/Resources/UIToolkit/Images/cursor_zoom_out_32.png.meta create mode 100644 Assets/Resources/UIToolkit/Input/UTKDoubleField.uss create mode 100644 Assets/Resources/UIToolkit/Input/UTKDoubleField.uss.meta create mode 100644 Assets/Resources/UIToolkit/Input/UTKLongField.uss create mode 100644 Assets/Resources/UIToolkit/Input/UTKLongField.uss.meta rename Assets/Resources/UIToolkit/{Settings.meta => Style.meta} (100%) rename Assets/Resources/UIToolkit/{Settings => Style}/UTKComponents.uss (82%) rename Assets/Resources/UIToolkit/{Settings => Style}/UTKComponents.uss.meta (100%) rename Assets/Resources/UIToolkit/{Settings => Style}/UTKDefaultRuntimeTheme.tss (100%) rename Assets/Resources/UIToolkit/{Settings => Style}/UTKDefaultRuntimeTheme.tss.meta (100%) rename Assets/Resources/UIToolkit/{Settings => Style}/UTKDefaultStyle.uss (78%) rename Assets/Resources/UIToolkit/{Settings => Style}/UTKDefaultStyle.uss.meta (100%) rename Assets/Resources/UIToolkit/{Settings => Style}/UTKSettings.asset (100%) rename Assets/Resources/UIToolkit/{Settings => Style}/UTKSettings.asset.meta (100%) rename Assets/Resources/UIToolkit/{Settings => Style}/UTKThemeDark.uss (100%) rename Assets/Resources/UIToolkit/{Settings => Style}/UTKThemeDark.uss.meta (100%) rename Assets/Resources/UIToolkit/{Settings => Style}/UTKThemeLight.uss (100%) rename Assets/Resources/UIToolkit/{Settings => Style}/UTKThemeLight.uss.meta (100%) rename Assets/Resources/UIToolkit/{Settings => Style}/UTKVariables.uss (97%) rename Assets/Resources/UIToolkit/{Settings => Style}/UTKVariables.uss.meta (100%) rename Assets/Scripts/UVC/UIToolkit/Dropdown/{UTKEnumField.cs => UTKEnumDropDown.cs} (88%) create mode 100644 Assets/Scripts/UVC/UIToolkit/Dropdown/UTKEnumDropDown.cs.meta delete mode 100644 Assets/Scripts/UVC/UIToolkit/Dropdown/UTKEnumField.cs.meta create mode 100644 Assets/Scripts/UVC/UIToolkit/Input/UTKDoubleField.cs create mode 100644 Assets/Scripts/UVC/UIToolkit/Input/UTKDoubleField.cs.meta create mode 100644 Assets/Scripts/UVC/UIToolkit/Input/UTKLongField.cs create mode 100644 Assets/Scripts/UVC/UIToolkit/Input/UTKLongField.cs.meta diff --git a/.claude/settings.local.json b/.claude/settings.local.json index d4cfbecc..c66fbab4 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -10,7 +10,9 @@ "Bash(claude mcp add:*)", "Bash(claude mcp list:*)", "Bash(del \"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Scripts\\\\UVC\\\\UIToolkit\\\\Input\\\\NumberStepper.cs\")", - "Bash(del \"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Scripts\\\\UVC\\\\UIToolkit\\\\Modal\\\\UTKColorPickerHSV.cs\")" + "Bash(del \"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Scripts\\\\UVC\\\\UIToolkit\\\\Modal\\\\UTKColorPickerHSV.cs\")", + "mcp__UnityMCP__read_console", + "Bash(git mv:*)" ], "deny": [], "ask": [] diff --git a/Assets/Resources/SHI/Modal/ISOP/ISOPChart.uss b/Assets/Resources/SHI/Modal/ISOP/ISOPChart.uss index c790120e..7af86ee4 100644 --- a/Assets/Resources/SHI/Modal/ISOP/ISOPChart.uss +++ b/Assets/Resources/SHI/Modal/ISOP/ISOPChart.uss @@ -81,10 +81,11 @@ } /* 첫 번째 행: 상단 테두리 추가 */ -.task-row:first-child { +/* Unity USS does not support :first-child pseudo-class */ +/* .task-row:first-child { border-top-width: 1px; border-top-color: rgb(136, 190, 230); -} +} */ /* 호버 상태: 연한 파란색 배경 */ .task-row:hover { @@ -127,6 +128,7 @@ } /* 첫 번째 레벨 셀: 왼쪽 테두리 없음 */ -.task-txt:first-child { +/* Unity USS does not support :first-child pseudo-class */ +/* .task-txt:first-child { border-left-width: 0; -} +} */ diff --git a/Assets/Resources/SHI/Modal/NW/NWChart.uss b/Assets/Resources/SHI/Modal/NW/NWChart.uss index eb8b4c4e..4f94b281 100644 --- a/Assets/Resources/SHI/Modal/NW/NWChart.uss +++ b/Assets/Resources/SHI/Modal/NW/NWChart.uss @@ -171,7 +171,7 @@ border-color: rgba(51, 51, 51, 0.5); /* 반투명 회색 테두리 */ justify-content: center; align-items: center; - cursor: link; /* 클릭 가능 커서 */ + cursor: resource('UIToolkit/Images/cursor_point_white_32') 14 5; /* 클릭 가능 커서 */ transition-duration: 0.15s; /* 호버 애니메이션 */ } diff --git a/Assets/Resources/UIToolkit/Button/UTKButton.uss b/Assets/Resources/UIToolkit/Button/UTKButton.uss index a802c87a..fad31d3e 100644 --- a/Assets/Resources/UIToolkit/Button/UTKButton.uss +++ b/Assets/Resources/UIToolkit/Button/UTKButton.uss @@ -24,7 +24,7 @@ color: var(--color-text-primary); transition-duration: var(--anim-fast); transition-property: background-color, border-color, color; - cursor: link; + cursor: resource('UIToolkit/Images/cursor_point_white_32') 14 5; } .utk-button:hover { @@ -64,6 +64,7 @@ font-size: var(--font-size-body2); color: var(--color-text-primary); -unity-text-align: middle-center; + margin-top: 2px; } /* =================================== @@ -299,7 +300,7 @@ background-color: var(--color-btn-disabled); border-color: var(--color-border); color: var(--color-text-disabled); - cursor: default; + cursor: arrow; } .utk-button--disabled:hover { diff --git a/Assets/Resources/UIToolkit/Button/UTKCheckBox.uss b/Assets/Resources/UIToolkit/Button/UTKCheckBox.uss index 58990804..5823c71a 100644 --- a/Assets/Resources/UIToolkit/Button/UTKCheckBox.uss +++ b/Assets/Resources/UIToolkit/Button/UTKCheckBox.uss @@ -13,7 +13,7 @@ flex-direction: row; align-items: center; align-self: flex-start; - cursor: link; + cursor: resource('UIToolkit/Images/cursor_point_white_32') 14 5; } /* =================================== @@ -87,7 +87,7 @@ =================================== */ .utk-checkbox--disabled { - cursor: default; + cursor: arrow; } .utk-checkbox--disabled .utk-checkbox__box { diff --git a/Assets/Resources/UIToolkit/Button/UTKRadioButton.uss b/Assets/Resources/UIToolkit/Button/UTKRadioButton.uss index db0a6535..db9c7311 100644 --- a/Assets/Resources/UIToolkit/Button/UTKRadioButton.uss +++ b/Assets/Resources/UIToolkit/Button/UTKRadioButton.uss @@ -13,7 +13,7 @@ flex-direction: row; align-items: center; align-self: flex-start; - cursor: link; + cursor: resource('UIToolkit/Images/cursor_point_white_32') 14 5; } /* =================================== @@ -89,7 +89,7 @@ =================================== */ .utk-radio:disabled { - cursor: default; + cursor: arrow; opacity: 1; } diff --git a/Assets/Resources/UIToolkit/Button/UTKToggle.uss b/Assets/Resources/UIToolkit/Button/UTKToggle.uss index ddf2cf9c..a167961a 100644 --- a/Assets/Resources/UIToolkit/Button/UTKToggle.uss +++ b/Assets/Resources/UIToolkit/Button/UTKToggle.uss @@ -13,7 +13,7 @@ flex-direction: row; align-items: center; align-self: flex-start; - cursor: link; + cursor: resource('UIToolkit/Images/cursor_point_white_32') 14 5; } /* =================================== @@ -80,7 +80,7 @@ =================================== */ .utk-toggle--disabled { - cursor: default; + cursor: arrow; } .utk-toggle--disabled > .unity-toggle__input { diff --git a/Assets/Resources/UIToolkit/Card/UTKCard.uss b/Assets/Resources/UIToolkit/Card/UTKCard.uss index 3dec3278..f6b3949d 100644 --- a/Assets/Resources/UIToolkit/Card/UTKCard.uss +++ b/Assets/Resources/UIToolkit/Card/UTKCard.uss @@ -38,7 +38,7 @@ =================================== */ .utk-card--clickable { - cursor: link; + cursor: resource('UIToolkit/Images/cursor_point_white_32') 14 5; transition-duration: var(--anim-fast); transition-property: background-color; } diff --git a/Assets/Resources/UIToolkit/Document/StaticDocument.uxml b/Assets/Resources/UIToolkit/Document/StaticDocument.uxml index 47028cef..e76d3f85 100644 --- a/Assets/Resources/UIToolkit/Document/StaticDocument.uxml +++ b/Assets/Resources/UIToolkit/Document/StaticDocument.uxml @@ -1,2 +1,2 @@ - + diff --git a/Assets/Resources/UIToolkit/Dropdown/UTKDropdown.uss b/Assets/Resources/UIToolkit/Dropdown/UTKDropdown.uss index e27b3bb8..d578f419 100644 --- a/Assets/Resources/UIToolkit/Dropdown/UTKDropdown.uss +++ b/Assets/Resources/UIToolkit/Dropdown/UTKDropdown.uss @@ -35,13 +35,15 @@ justify-content: space-between; min-width: 120px; height: var(--size-input-height); + padding-top: 0px; + padding-bottom: 0px; padding-left: var(--space-m); - padding-right: var(--space-s); + padding-right: var(--space-m); background-color: var(--color-bg-input); border-width: var(--border-width); border-color: var(--color-border); border-radius: var(--radius-s); - cursor: link; + cursor: resource('UIToolkit/Images/cursor_point_white_32') 14 5; transition-duration: var(--anim-fast); transition-property: border-color, background-color; } @@ -72,8 +74,8 @@ =================================== */ .utk-dropdown .unity-base-popup-field__arrow { - width: 12px; - height: 12px; + width: 10px; + height: 8px; -unity-background-image-tint-color: var(--color-text-secondary); margin-left: var(--space-s); } @@ -83,12 +85,12 @@ =================================== */ .utk-dropdown--disabled { - cursor: default; + cursor: arrow; } .utk-dropdown--disabled > .unity-popup-field__input { background-color: var(--color-btn-disabled); - cursor: default; + cursor: arrow; } .utk-dropdown--disabled > .unity-popup-field__input:hover { diff --git a/Assets/Resources/UIToolkit/Dropdown/UTKEnumField.uss b/Assets/Resources/UIToolkit/Dropdown/UTKEnumDropDown.uss similarity index 69% rename from Assets/Resources/UIToolkit/Dropdown/UTKEnumField.uss rename to Assets/Resources/UIToolkit/Dropdown/UTKEnumDropDown.uss index 62a73fda..0ecaff9f 100644 --- a/Assets/Resources/UIToolkit/Dropdown/UTKEnumField.uss +++ b/Assets/Resources/UIToolkit/Dropdown/UTKEnumDropDown.uss @@ -1,6 +1,6 @@ /* * =================================== - * UTKEnumField.uss + * UTKEnumDropDown.uss * Unity EnumField 래핑 스타일 * =================================== */ @@ -9,7 +9,7 @@ Base Container =================================== */ -.utk-enum-field { +.utk-enum-dropdown { flex-direction: row; align-items: center; } @@ -18,7 +18,7 @@ Label =================================== */ -.utk-enum-field > .unity-label { +.utk-enum-dropdown > .unity-label { min-width: 60px; margin-right: var(--space-m); font-size: var(--font-size-body2); @@ -29,28 +29,30 @@ Dropdown Input (Button) =================================== */ -.utk-enum-field > .unity-enum-field__input { +.utk-enum-dropdown > .unity-enum-field__input { flex-direction: row; align-items: center; justify-content: space-between; min-width: 120px; height: var(--size-input-height); + padding-top: 0px; + padding-bottom: 0px; padding-left: var(--space-m); - padding-right: var(--space-s); + padding-right: var(--space-m); background-color: var(--color-bg-input); border-width: var(--border-width); border-color: var(--color-border); border-radius: var(--radius-s); - cursor: link; + cursor: resource('UIToolkit/Images/cursor_point_white_32') 14 5; transition-duration: var(--anim-fast); transition-property: border-color, background-color; } -.utk-enum-field > .unity-enum-field__input:hover { +.utk-enum-dropdown > .unity-enum-field__input:hover { border-color: var(--color-btn-primary); } -.utk-enum-field:focus > .unity-enum-field__input { +.utk-enum-dropdown:focus > .unity-enum-field__input { border-color: var(--color-border-focus); } @@ -58,7 +60,7 @@ Selected Text =================================== */ -.utk-enum-field .unity-text-element { +.utk-enum-dropdown .unity-text-element { flex-grow: 1; font-size: var(--font-size-body2); color: var(--color-text-primary); @@ -71,9 +73,9 @@ Arrow Icon =================================== */ -.utk-enum-field .unity-enum-field__arrow { - width: 12px; - height: 12px; +.utk-enum-dropdown .unity-enum-field__arrow { + width: 10px; + height: 8px; -unity-background-image-tint-color: var(--color-text-secondary); margin-left: var(--space-s); } @@ -82,27 +84,27 @@ Disabled State =================================== */ -.utk-enum-field--disabled { - cursor: default; +.utk-enum-dropdown--disabled { + cursor: arrow; } -.utk-enum-field--disabled > .unity-enum-field__input { +.utk-enum-dropdown--disabled > .unity-enum-field__input { background-color: var(--color-btn-disabled); - cursor: default; + cursor: arrow; } -.utk-enum-field--disabled > .unity-enum-field__input:hover { +.utk-enum-dropdown--disabled > .unity-enum-field__input:hover { border-color: var(--color-border); } -.utk-enum-field--disabled .unity-text-element { +.utk-enum-dropdown--disabled .unity-text-element { color: var(--color-text-disabled); } -.utk-enum-field--disabled .unity-enum-field__arrow { +.utk-enum-dropdown--disabled .unity-enum-field__arrow { -unity-background-image-tint-color: var(--color-text-disabled); } -.utk-enum-field--disabled > .unity-label { +.utk-enum-dropdown--disabled > .unity-label { color: var(--color-text-disabled); } diff --git a/Assets/Resources/UIToolkit/Dropdown/UTKEnumField.uss.meta b/Assets/Resources/UIToolkit/Dropdown/UTKEnumDropDown.uss.meta similarity index 87% rename from Assets/Resources/UIToolkit/Dropdown/UTKEnumField.uss.meta rename to Assets/Resources/UIToolkit/Dropdown/UTKEnumDropDown.uss.meta index cc07362e..ad594bc2 100644 --- a/Assets/Resources/UIToolkit/Dropdown/UTKEnumField.uss.meta +++ b/Assets/Resources/UIToolkit/Dropdown/UTKEnumDropDown.uss.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5d35d99d851e8eb42a04f3a1ffddf765 +guid: 428a9bf8ee8e97946a076de9f9ae9ac2 ScriptedImporter: internalIDToNameTable: [] externalObjects: {} diff --git a/Assets/Resources/UIToolkit/Images/cursor_arc_32.png b/Assets/Resources/UIToolkit/Images/cursor_arc_32.png new file mode 100644 index 0000000000000000000000000000000000000000..435205af97a95487971bad7bcf4160d1374f9e6b GIT binary patch literal 418 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oVGw3ym^DWND9BhG z0On+n##_ik_3gqdiOvOw=^~H~KTkv9UavwasZ^{o%V}PEsBT zbBfozmYTinWl^%r4CDOlGqH}$O%G=4sg!SA>8_O$IV~bo^jM+KUp^qX!PC{x JWt~$(698owo|*sv literal 0 HcmV?d00001 diff --git a/Assets/Resources/UIToolkit/Images/cursor_arc_32.png.meta b/Assets/Resources/UIToolkit/Images/cursor_arc_32.png.meta new file mode 100644 index 00000000..059c69f6 --- /dev/null +++ b/Assets/Resources/UIToolkit/Images/cursor_arc_32.png.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: acc29314a978fae4aac25b69b047bb67 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 7 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: 4 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/UIToolkit/Images/cursor_ask_32.png b/Assets/Resources/UIToolkit/Images/cursor_ask_32.png new file mode 100644 index 0000000000000000000000000000000000000000..4c13833da0dec8c91d449418e687f7a9cce20455 GIT binary patch literal 806 zcmV+>1KIqEP)K~#7F?Nv*N zQehN6SMT_KP>2*6sf`h?GGR7J2rY`4MHJ%@%_fSXMa*W}%Rn!J7%18lJ+?taP(eZq z$J$6UN-z_MEnH=y-~&-{^!}Z5y@r9+y|+6%KRDcb&wuXuzyG{`fC(m;KpnVIVT^I0 z5;{;0T`U%(|9F%s6a&X`^sZOwPadRG(niKwt#+l?>!k!isG*+q`~5GCM&mNANkmjf z-G9)?ECd*vzf+a3cVv74o@k$ z8x%3cnJ+$(0NCyJnT>2#{0@gg^yr~%`~7|a?X;=BaU5VU<=mq+Af7nJT5s@1q&tG9pJ26G=deCnNUn=2L9Rok5nz~K za^A(EbQXJ_$9bT`n&?P6LCNL>H4zw2MqUyMdmm*R28F1IfMQ53rjxE{k%aWFYViEe kr7`;Njif+Cb7eiMF0Q*07*qoM6N<$f>0}Io&W#< literal 0 HcmV?d00001 diff --git a/Assets/Resources/UIToolkit/Images/cursor_ask_32.png.meta b/Assets/Resources/UIToolkit/Images/cursor_ask_32.png.meta new file mode 100644 index 00000000..f25ef4cb --- /dev/null +++ b/Assets/Resources/UIToolkit/Images/cursor_ask_32.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 685c81e8ca4d2fc43bd652c2c87f9c59 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 7 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: 4 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/UIToolkit/Images/cursor_context_menu_32.png b/Assets/Resources/UIToolkit/Images/cursor_context_menu_32.png new file mode 100644 index 0000000000000000000000000000000000000000..79add9dd56c5f265e6b1dfcb69a27079faeab427 GIT binary patch literal 1210 zcmV;r1V#IaP)S!r{?&N7cFf_DE#_4n#SlmrnEJGmwn`>%nii4q$LLy=BeNe|ICM1On z;^r9U?NaA&OPS41LYW}D-R>EzeB(*i6RRJtUc1houRO!fefn9UC}#I9E-qf^@9%%K zxVTui9Won8z~4k728%2$Esd@vkw9D=U|`@87I&q{wo5_~ z1Vss(%@!LO8M#v8a;5w+k$K~-ci6>mJE}`cO1vQb5n|~e+hVMwnk>)F%|+YW+y8j{ z@S%{!Y~FN|#bRcqrB5>=ij)q5#NL&al|5{WH6;}Z#U-t+t+%nT$F+$|UVWv8{nXdX z&YXPVd*45QzbuO4;k>-O4=XAveupYb)m2kD*|tW)YPCkErl#PMJ0u*A{fd3pb%{xm zp9KN|Z&g**FGiy=O5aT;Q#N9RVq+IvYbYovpme4z(or>DLrxQPxw*MH-QC^CC@m9d zIw48?)~&zd_2blO9thkHwzajLfMUP$G(hk^1|p(n67}`<#M%UV2z?|-8-CO3=02bA zvfuCjxuf%vLZtrVb9{DocAPTl^*7&MS69{=9i*qH=MdJ@CzHrdMWUghfgUll*&Lal zpTBbA`0-OOy?FNDy1Kga9*-xC1v@AF(!=&Wds!qB$ubxWIV=rAp->`)BTOR_eZ)p3 zoa7uH9)2J1PHgA|$!D;6aC&0X zWw6`rCJJ0U_d%J$g@uLR(kap0+Ie?C!s0GcY;<u3XyOAIwZnf%rHFWHUjSJxTU z6#}}i0P-B`G0jROPNyo8@MYq@$<>WzME&ac-IRdaINY&eJRJ!wkP)CV$~Gqz?gmuV zm?TMZ^7wYIX>=zQ;T8i@mAc&OU6elR^?HVeMt@RWScZiWM~jFfdf(9-yjWCJL>Xj( z<-_*DCYc8D4=I?_is>tCvVMK*2?HVQTIRo Y2NmdC)92*AivR!s07*qoM6N<$g5XL)*#H0l literal 0 HcmV?d00001 diff --git a/Assets/Resources/UIToolkit/Images/cursor_context_menu_32.png.meta b/Assets/Resources/UIToolkit/Images/cursor_context_menu_32.png.meta new file mode 100644 index 00000000..0ad6efa8 --- /dev/null +++ b/Assets/Resources/UIToolkit/Images/cursor_context_menu_32.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 8463ac354797a2e47b66ae84a1c746d3 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 7 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: 4 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/UIToolkit/Images/cursor_copy_32.png b/Assets/Resources/UIToolkit/Images/cursor_copy_32.png new file mode 100644 index 0000000000000000000000000000000000000000..129af4b3b4ac5c6f44d49f979ae40c0e85cf1cb8 GIT binary patch literal 1208 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 D@FyL^ literal 0 HcmV?d00001 diff --git a/Assets/Resources/UIToolkit/Images/cursor_default_white_32.png.meta b/Assets/Resources/UIToolkit/Images/cursor_default_white_32.png.meta new file mode 100644 index 00000000..e111f312 --- /dev/null +++ b/Assets/Resources/UIToolkit/Images/cursor_default_white_32.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: dc6f5fccfcbcd1d4ca3f339c4419497d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 7 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: 4 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/UIToolkit/Images/cursor_export_32.png b/Assets/Resources/UIToolkit/Images/cursor_export_32.png new file mode 100644 index 0000000000000000000000000000000000000000..6f9e4628446d986ddea95ba084b0c1cd778d6f4e GIT binary patch literal 953 zcmV;q14jIbP)zJxQ=lAvN>5>1iF z2k|8gdg-A8318-en=Ahz)GjRM?e6QGyL(O7+U_>lLwVqEzd!doe}CtEA0fN6OaD75 zlKq!bN)(Fi$D-Gw<}{wrEFxby{+kVg)fS6I4dYyiVJ&ydTn+P_hK7bLG$d^TA*fur zxVU(b=Xo!cNun`Ik|4@*QXqM+nw*?0t*fgWop|;7aQ}nBzaDu1?k%PuzpSk6$K2c; zN8+SGP6}vOR~HHh*VotkT3T8z)YeqLadfm3EyKh+rvl{(<;%iAcXxNVs;Y{IA?J3x zzd4=G-m_FF`r?RM9|!$(@r{CwPFBocb*8NXY=1E}woUn!%l0pAZEY7hZsYNY>nSmre&b?cVL<@^ zPNv!YN!SO<%gb|MxHl9EeZF+Hi5@?Bir%@~OJVNs?Cd-Zdsg65kH<6gb!kcH0}R8I zkVr2`Ce1MkJy2=2+9DK;%Fo%(Q&i+|II3Z9A8;`+D%|h$`TE61RAjYU)ewR73=lhE zE_kGu3_$N!R#qlp-3+XQT%)IXzy%tO#^CjOZ^Aeq4JSJh0Z~DTWWa}ypXl`TbR$Lu z*706YimV2#XyD60$?k#Pfn^>S1G20GFbQbpIL?nHXMzSaJ3H%TSr*&uPp~TtU!hS! zWJ2%_Ra8`L%*@P$X@VO`P9qWo=yW=Mb#-+d47i1JNC^+#@~y3{6dIMJ1P!6$bu6q! zU)`xvc41+muCK4}M1W-l076fwA(6bNo#TXrNH&>Fc?hue_4P4y5rKwlB$E4#5F)yu zxw-ieybHcBFE4k%T$4!ygeU;=ivei&0D!}i0Xy>YNkn2lz$j=TC6-_?I11xDXwyn@ zFC!$>x?Znm*4EZ;5b@cSNdp8U;Hia?P>FX0Rzb=Jq;gPtBO-0RZZiM`NmC@`0%rt( b|1|vqxF~q+AKg%Y00000NkvXXu0mjf2voB+ literal 0 HcmV?d00001 diff --git a/Assets/Resources/UIToolkit/Images/cursor_export_32.png.meta b/Assets/Resources/UIToolkit/Images/cursor_export_32.png.meta new file mode 100644 index 00000000..81d1812e --- /dev/null +++ b/Assets/Resources/UIToolkit/Images/cursor_export_32.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 046797f2fb6687c43b0d2ceee318ba68 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 7 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: 4 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/UIToolkit/Images/cursor_grabbing_32.png b/Assets/Resources/UIToolkit/Images/cursor_grabbing_32.png new file mode 100644 index 0000000000000000000000000000000000000000..d1f13dab7c1d214a67417cf667dd3ad035b8e978 GIT binary patch literal 900 zcmV-~1AF|5P)qWC($CwzZW>^au1%8WBYF6l6XaMphsQBJ?0wK`%Y@CT0&o zS-q-Zj7-IcKp!kkodj*!mP~iIuXFD1r6qaw&OOO~m&13z^WF2^-#OoR&i4W2kw+do z2S>sfhn|18vivdO1)!hSi?phdn`wl{(704uo zGV*b3^jT9=Q)+Nod*?Nd&fOE zQdI>LQ&X_C6nZ@VVe}TNW%#>HhCrU1>-`Pw-jk}RR3?CVpIUZWtT5rOGo^IF<6cGX~4Z$o)ZfpeD#>@W#*G_QPpJ?QOJ9M%6 z0%QZ0VA}k~BS2%RRO%o0nrAzOU=p;sm{9_XA;Vplsd)0J4~!s*PkDK{Zl>uGK-z5A z)oyWdk@h7RB0v@u6%~xd*H@`eDQ5)Q_k4n_;ygfw3=Dz{tSAm|pkcMQ?;$gSS3_^u z@j$}@*{kzx8EIh~5`v?obYW&@_Dt+|%;NX?U?;fUaUUX)$kX^*Y&af|ZvbtFEI_Oa zQHskdD+B1!x64o)&Yf>&$2{IPNQWQKP5tx6wABFa8``?E)(?MQnzdOAy0G^5gAPI~DAwUNJ8T{&J+_X9v}kZq^w=FOSzwN9ribScJFk*ef1K&72aaI+)AHv{Z1cL4DaIF3aoWFPpTrL+B z78JnM>o*{gly_#v~;&PP=wJDGw~G;t<0Ha6Z0d0iA`hJfUfz~}YqIt8Es z(#Ge7xX{M(@^X*O;W~u+N>x=8=|5ePq~AB;mn~af%77K0J98Rt-na&o|McZnK*r0;%D@r< zs^?gEptJM+0MoSBPg`2_b&Bw#Sa{69B~8Z##s}Ba)5BRJKq-TTM~_-Xky{@=dOY*r zTo-31Fzu;WEN1wgQ5L8uT6pmL13V;Z=Kg0RHa?zKS+)eIhATti@Q9q0@7!*>2UZa3 z>jRBxAKh-ZW<(+*0g3}`z2t?dpFh6c3bu8GPn|wH`^z$d8r7Yq`;bgb-5whoOB1j> ztPm&;>?rP%b!Ao9ZU+t?u4mC$j2Yq9-6mGK**}2$)}T0Hx{%EaGnG&&Dk_>9i461) zjSdGwp}z11Y`;c$_PiAmQ}HXP%8(jRvL!%n)576!5(6>*rMI_#a&qE)sJ}ns26F#k zBmxs-zg`gm9Mu#f17?~Lk)T*edORM1F$PKA~ZKQ z+psMcNK$?U4JS-tJP4`lRaO0_(U>L(g52HN`2vk6un5VJWdP1c)`sH5)N6!Yy5{2df2a$$<41F-gCPkT%i^1t2Ln(2lgmjvML@?oDO9KYg26Qp0Moo;t dBJzIe;WtdwZcPPFc0T|B002ovPDHLkV1lpT<=FrL literal 0 HcmV?d00001 diff --git a/Assets/Resources/UIToolkit/Images/cursor_hand_32.png.meta b/Assets/Resources/UIToolkit/Images/cursor_hand_32.png.meta new file mode 100644 index 00000000..8a5038fd --- /dev/null +++ b/Assets/Resources/UIToolkit/Images/cursor_hand_32.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 8b25dfa4462c56b4eaf5f26709b1adfe +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 7 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: 4 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/UIToolkit/Images/cursor_link_32.png b/Assets/Resources/UIToolkit/Images/cursor_link_32.png new file mode 100644 index 0000000000000000000000000000000000000000..f83c0b13ef33314e23941b68c2f1695b78e4f1ca GIT binary patch literal 454 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oVGw3ym^DWND9BhG ze63l=`ng((D`$D;WMf`tLV=v&@C%_pdQB_-oD(6>d|U@xkW2 z3X5>)*Ic0{PDMR6MU@7}4(SHP4#ft>j_QWFipvCgRK6W_~j z%Xj^2Jp53$xL)#rYU|gM;)c)hZ?;{EJ^h{~L|E`(Rno2s0T!jcWL^7 zb@Ru3p2#ipSubb#yX+O#zQ6QZ5-rLO9_C1olUVUzhh0LnU}bhutCL)FnPO?|c4j@p zM}aaYJ-5z3#AFz1BmGqPjg9Txa}}>E7sizxd$dQ#`vB8~R7pQK+lmu~GABOonJahy z`^)dFm(R)^`0P@6DLqgmCAIJ4(xSJv4jpBUVvO@HK3JHy-hN-Uwqo_wR@)|-<8@QE u_#bDH_UmW=w8-|7^fB#-NFdO?BD(c`bJyl$5gx!`XYh3Ob6Mw<&;$S*e6C>t literal 0 HcmV?d00001 diff --git a/Assets/Resources/UIToolkit/Images/cursor_link_32.png.meta b/Assets/Resources/UIToolkit/Images/cursor_link_32.png.meta new file mode 100644 index 00000000..1a816fdc --- /dev/null +++ b/Assets/Resources/UIToolkit/Images/cursor_link_32.png.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 1d3223f28dbb58d49b4d7327cec5bd85 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 7 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: 4 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/UIToolkit/Images/cursor_move_32.png b/Assets/Resources/UIToolkit/Images/cursor_move_32.png new file mode 100644 index 0000000000000000000000000000000000000000..9b238df8f36c4841696ca8eafb87f6803706cd2e GIT binary patch literal 928 zcmV;R17G}!P)hhr*X0%6t-H=tDu&puj*7v0^VtrshkDAZ4!h z;Dbax`p~1`gCf3_!@Y>g=Ek?PeCM3s_npI72_+m+ z2#~(MKC!*MU81(AD2l)i1AHQBZf?#R3zH%fu@HKd_$qod#~4fnq}DuA(Lefu2&*?fbo*=$BJsS`rLmzBNj-h z!iow05-#IGl+!DyAZ*VW>AJ(TG!@t(y@pFD3jP7l=`lb`KW}yb0000h;0WRxzyZW9z|Ih6fE^*00d|7; z9bjt+HUfO#4D@|Jm{i+-Ko~xv?<)g1r?8$b73jK8%(hWkkN*j13>Lw9Vk)@r`y!5G z1r$XQ0VE3x1GEyYLle{ef54aujt@`x+-X&y09;#?Qcsj+sjMi9sZStvYnk>qq0BkI zmoIymjmaSLN^rxrX+A66p=AdDOI1}qUZ2rkwJ|!ILp3mC-LeHmGbmy;%<(I&{cN YKOXPXGZCp~bN~PV07*qoM6N<$f>a;6y8r+H literal 0 HcmV?d00001 diff --git a/Assets/Resources/UIToolkit/Images/cursor_node_32.png.meta b/Assets/Resources/UIToolkit/Images/cursor_node_32.png.meta new file mode 100644 index 00000000..bd86fcfe --- /dev/null +++ b/Assets/Resources/UIToolkit/Images/cursor_node_32.png.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 8d2b78493f037da4b991a95f4f940bbc +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 7 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: 4 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/UIToolkit/Images/cursor_point_white_32.png b/Assets/Resources/UIToolkit/Images/cursor_point_white_32.png new file mode 100644 index 0000000000000000000000000000000000000000..61076af5e98ab58a3eb4c1865e194485ef6fd76a GIT binary patch literal 1016 zcmVUK~#7F?N&)l zQ&AMXe<+jG0u^bK0(HR#l1ibBGA&q`xNt#mr*VjhE*zpOV+^2)tk4)YE(o|Zafgu@ zS172_NWnx{phg1NUqLIhKTQ3+=exfj5ov#a>$Kq{FYotF_q==WJG}tg_|M=VF+^KW z;a?D-lyVHv)YK#dgDXxP^Lk%QvW{pZk|M$zU8q_IFv+V*yO?fzhs{&l&|X|zEaEg0 zgue`v+g({xxvzoxBuQ=f?JBFPW?oTAKoT(O0X&=|99Z#(-DZn4yA24ZSO*3M414ld zhz8ej4u?aalx#61aKawenIMu2L>o4o6NU-Q%*;Tx&9=$SnVFf8l9GC=ys9RXa{Na^ zAs~PK{M2Hxkm2EB($>~SJ32au-ob`k*V@_|`A{~GH`dp|h4W`i9Qpa3*;$r*DWdQ= zd$)Z;NZawcqPD)budfe7CV)hT5d-C`(wJ$F%1slr;S(f4Et=k0+ z4fO@xJ-sfU&+lZ@&7c#Kn9Q_y&%0bMt0~=lg!#$}gqj3Vy!dkH3B*H)k!jw40OW69 zO2)^>C)m(hG!ijAfW~n?-JJc(?cQ5xX7TopjzTCTgAw3*1fPQj=a2IY6JT$c1Ofr&?HlhU#SeTrg zOj@Q>vl!f->aK$=hbSXLjpD(>e#*39ik*R4kP1nJ0JC;&etteY7nr@n{(QzxpE(DT zZjR0o84~DfQTAKg{~B{ zv#<-Zwi241otXYK)yj;IU%lR`w@tnM^2*W;_PHua5(*GWiU1QMs%>61o6XDqsi|2x zxNyxoGOD*t)r%E5_zd?!33F7g1lyEq_B$`aiI965HsJllL#js{vH~xkQ zXr91i68Maa5i3<%)>hXaA;IUB zi;dL|}i!5{_3ZCR3JUM)O+3N=co-f(15Wtv+Gx_PB)brL)) mSbip@5`##k4BOa7JbVWf-=Y)B5A-Ae0000)LDnkL3LImzCn>7a435w$LA08p^(z<0q-lqFiS?*$vW)WY}SRvjazp#5>N)wXGx&r zDB0`vx?*sQbV!_{;YUCem<@nTsZ=tObHISDtt~rQsE2+GurDt!OYwMox>l=2eLkOT zq8z$p=Gi_vI+_x{2T5@U!fPl{SfSc%HouEvn`R1Nef{Q=Mq+=?WD0B6$1n4&k}9zrTO6 zQmO2uQt9^Hdk_A2+KuiA^zK6jvc+QY-QM2bB{GSGSuP#${PUNuFFx#kqGG8;gTU+Y z(BnrBDZF(1iQn)4$Q{z)B5n0vb_~pR#Cl!SXIFp;)jP>Fmq;X@=kxhrFQczD ziy*AGqi@=fVcBQA7ZAD}Rz6rLmsQ@wH!6P;A1*p&78s)ITaR>j zCK+C@cZ$h$5K(7H`M}Hn-9q+6&t^8T&~6~ z+~PMv>+tZfDRh{kpS-}q*6QkNgCkNE2DOX~P!y#h&T9t;2d7>>2v8fSi|O9hqfYoO z7n|kxfU2tSzRpEM?a!-HLGxX3O1J{FIj0m}l qqoRLyNAfb(p+C=wMtt!YL&a|$J;ahNo!8g^0000&H&Sjg%s|5m%)vzi=@s_!rbV%tmqH ze^57Fv{|)_>F1_4N@mu~BCc`1v-P+K&-VKP!kpmvgJ4J$C$rO`I1Bg|qN|3)XGIh-){1M^sfk2;&+acG}E~ z;KO!`$Kz|EP$=5zbRJL_rUkgs>-FwK-~+G+nlG5kW5HbmG^uGMO{ zb^X&#>*_HNoST|VM>?~F%pRcN28HatyXUt zhFNrraDw{<;ZY`&xhu=E-tYIZ?XdootcrX-kGEM6h-qEdH0?>fuF;dH&)6lXYZ~o# zyF2hL$xkL&M2H-+l+TOMzyB`eJ|> zbjAjxd54|c2_F0-!Ci2!X%vB}KFo-7*>OAh3&21@a5!FnN-C9-$ZzyHVimPciz3kJ fCh_3G!~cjczQqzEOLN9d00000NkvXXu0mjf-Xl%^ literal 0 HcmV?d00001 diff --git a/Assets/Resources/UIToolkit/Images/cursor_resize_down_32.png.meta b/Assets/Resources/UIToolkit/Images/cursor_resize_down_32.png.meta new file mode 100644 index 00000000..520f2dc7 --- /dev/null +++ b/Assets/Resources/UIToolkit/Images/cursor_resize_down_32.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: c3d0651e8c68cf24288992307cde7769 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 7 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: 4 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/UIToolkit/Images/cursor_resize_h_32.png b/Assets/Resources/UIToolkit/Images/cursor_resize_h_32.png new file mode 100644 index 0000000000000000000000000000000000000000..761ab41c42eb537d3ffdedfcf5365700b7056c81 GIT binary patch literal 847 zcmV-V1F-ywP)v|qSDM6NqW!@#Nb!4bUE!{FfHIU3p`k;wgIGWnc-V_r!j3eu%gso_{G_7Ggb(XbX#4D52b zjEO{If)ep~Jnp4$Qgs0$nIRgDdcgsg=0>b-l%S?mLPnj>=j&7yWo~~zG~!=cX6bYq z$@J`(3Yz}@{$iooY*zP;IN*{}bMy1_c2-j3L`rBxU}<%A)t%4hzb`C)+yJA zudlD?kgDwets+XUr3MvaPMHJ;`Mjg8$y5eti-Dg|t9ZOuxO)I)w;t{X6#-=wi; zb8~aHT)+ofgSCi3zDtPdcDp6kgs!L%ZDuBO4h#(3BI!PFZ!7%k(lQSO0y74K;Tria z%Cd|$>jaPN>hA9D47DoXRupv0m!YAd+rnoSF`IrNi)~0|5(&B}_%tLwI5?Q3ITFi4 zQiH?cXs6MNHUtM;yBvAvz8`r$&p#0vRo=bU%*Ei3EDVxj<%iI-MxI;r~H1 zvgGJ-`auCxbcqr)Pm|@V36LE;tJMl$64uw(mk~T(FZfBMseTza`+MN(cy$x2P@&?# Z!B4^2k)?^fA)o*N002ovPDHLkV1imVh;#q| literal 0 HcmV?d00001 diff --git a/Assets/Resources/UIToolkit/Images/cursor_resize_h_32.png.meta b/Assets/Resources/UIToolkit/Images/cursor_resize_h_32.png.meta new file mode 100644 index 00000000..e300c71f --- /dev/null +++ b/Assets/Resources/UIToolkit/Images/cursor_resize_h_32.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: e73a9f04113c1a24c9aade38fe3af996 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 7 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: 4 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/UIToolkit/Images/cursor_resize_left_32.png b/Assets/Resources/UIToolkit/Images/cursor_resize_left_32.png new file mode 100644 index 0000000000000000000000000000000000000000..cc0430eedae6002bb5980eea306b57cfa4a78dcd GIT binary patch literal 834 zcmV-I1HJr-P)oG?XI)o0v7qtW;r3iDNg6t#)w2jquIB3#<(AWHQ-S z#D9_)m;rKxx;rYBib!?N?0)YA9|o`2YnupB`aN#9`+T8L_>jr$@+()bwM1usKijdb z?VXMgp;X_n<}9fp8}|?*3r!5B)9Ex87Z)G-eDfdUFSeO?ZjSl==h*uC)9cl0RwMZxr43s+ zl7H6D1j9kAgUkjl6%aVKODX}%)>_K`w+;J%95rADtOf!#A|y#tvxh8iixC@Af^k7@ zHlNSuH+dKEq56vFXRP^w7*{MPg9_5^LAu?zmSLvHIzb__uk#zq7p*<9>)g?N0@zS9~Cxbo?d#J6@gy@ukTM@L7w+QLnF(f3q zSe;u8WNkGN6vwaeYkHm;jn$3ywQ&i;A3V(a4)4tKdw=iq@d7Nd#6N~X&pJg>z+f;a zpaUGk8pFtpXoBDG7wJjgqI1>_=mL=x`~Ch0We?iz_QMe=T_k2I5DJA<0)xSTzjosm zte#$jtyd|KWtj&}iNht3$z;fZfCMHS5h2hN;PjASi2<? z{Dq6kx9x4EQmMSf^=>qCEEeOY({~!o3hZqFCC&*xsR zcirJ|$hd3}kH?i+&1xorTrNk2Xy1E0l3FU2`c7kVj-BaQAP{&g2tu<~tI6STxX%)V zMqmKuI82vfOv3?IL)s|_M&qW>=X-*~rX)!%e0J06^pK@hGZ7d$ocI}5z=6qR>Xggn z1UgTE7V&K~8FxNpy(ch7>2xrW0-a7r#+-kI(*{}-WmnIBo=XZ70lVG4?}wzwDA?NA zvT5h4>~IL6G_+%d`#8Rg6bgkTXsLD#bY4nWKBT&CLbKqRAEhRQEx7G;I$PChm3H2P z8P!fNh@|LpxhNN1BeR0mbeQV>BB1tu(AuwvXTGp9J1@pJkRlCUZNV&);8JSsCO$L9FfY4G#|oipAo~g~hifOD>n2 zLw`V!Xe(q6lt?6|wzjs-D_5^u!aDb1%y*GEM{}G1-Sz7HFS~Y74X5dI7cbMF;Nyq)Odtfc0Dl$e4J4YCi}eS{BZNXBSEr2f0BxXQJ)H7jxOyN>w%{_aw#)TOFwEjRe$QFUGa)WBMjB52C6<9P<=u#Xa? zNcR3$F^@!LwIpB)(fI?8^q!s`Mbos}wjhS;R8}0Qs3?kFC=|+=Q-xkhr_;LdRo%V+ zM9p)cDkgCiXbiM@IGe^QzJb)2J*-g$JQk0~r`dL3U?2Pf;Yg=5$*Ki#}N8&yX27_UYAAl%k8(v84kS`ft;jzul z&DRTy@60z4*0~Q7A{Q5tYw$fU_V>`l#Kh_K_4VlL>gt2Z$;ngb>nHnF(34Q{q=FsUc;od+1 O00006# literal 0 HcmV?d00001 diff --git a/Assets/Resources/UIToolkit/Images/cursor_resize_row_32.png.meta b/Assets/Resources/UIToolkit/Images/cursor_resize_row_32.png.meta new file mode 100644 index 00000000..56e68555 --- /dev/null +++ b/Assets/Resources/UIToolkit/Images/cursor_resize_row_32.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 946e7f41bc093c749b414451889b8bd6 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 7 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: 4 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/UIToolkit/Images/cursor_resize_tlbr_32.png b/Assets/Resources/UIToolkit/Images/cursor_resize_tlbr_32.png new file mode 100644 index 0000000000000000000000000000000000000000..cb56f6d9d2716fd36e05525bbee92801a3704b45 GIT binary patch literal 981 zcmV;`11kK9P)F8xK6N zIjtTUKDqglB5ETix&i7e@Lm-VxP2eoNQ^%TKKQ_I`|aF&&$;*f?svZLcMc&16i~ng z2bU%9Bu7R@@EM0?UbvL5gJBpB;^5%m5tqwV27|#ZilSVBK)|=Sxafi*KiQ!X9L~1q zCjckMeh|{&SXq7P_Iij+DkWti5z*=HkZ3gOk3=GyJRa{?C={9&3WXCeK1$9@0Evh9 z(%#;l2PYpL8&B#4A>y}h#@gCiTkIB##YE!E!?65saI^Gt{C+ zHpjwgx7&T9GEvgx9*>ti9Wanux%}1o`g*U&WH;?zrDTv1jY#nTc&GkYt@jTgAhetK0-K3rBVoO4G7q>+U6LV zrdJmh7T#wNQ8G0(C5Oqs9UmW0qbOEHZUR&)l|U>OSHQ$yq5hZkdi{-}q9XPD{QPh# z5pK8pHI(F%)n;Qr1bRgoiI;NDQNS`S-Pze0hHP(wYY9*atb<6rNF`!s_A`Ua1wP?J z@%R%Yk7eL$G@2q5QBzYRl1L<_kntt>;Z!2J^}VqciO+|Ih8kgwOPU<<-RUIl?d`1)v5X~|$%;=R;V@`6Snnp2NeoG8Ua~JY zPfULN=LL$U$W?i*7$Wv(=S+!Qk^|r2`Fy_T0)e0#t}FO_zT)ucsLTrnMbR{ILo{k( zNtD;>-c?mqjlvjQvPim*%YVZ?cR246QbrkN{0HE1 z#s?E*th>8gFgQ5K=jQTmE*cEO@DQ9c*7@Y*q)eyN$ut_x>B`E=T9HVkNu^R=iA3@o z=2N&W+gUY(_6JP9VVW|MG~fI(x6h4V@LImI3Mv` z1WEx$EHs-{$M3k^ zZh1>fO9e?cl{gRx+@h#3({sI-t$ELlUWN*X8Jm5E?TKVExd{qT!rCfQqS^>*89t&! zBH;uQpDY$jBSbFE<=o|RJ*8=S@%@L745;KQ>{V#BT5-t)Fk*Cw-HwOGVzJNASP!!~ zpPQQ-0R5lr=;$z@^X={Jw{XNk3;<+GiUwXbxEZVt(}`)t^k#EDKRCj0=-HmsjJM3qVlFN#6O^ z)>dsG5d8fk)9seAXT<0AJ~kK(FCgVKO#MV_Zf=gOudhcS@+kCB0{$iULx9xO)X2hc z#qIQyKd zx(jP7xaYSh!0716caO)jX|vfv(0oy-e*`kMMM^|I zd0;fy#dwiaf@S1{bxm=W;0${pPV&6_rIKT>U6OuMS&1o?N(qdsxEl@$R&eDi?Y1jG oAoCFMIVS>=19I)P?>6K|!rhb>U)k9U&Y4 zKo)ghle%a~oA*5Y&Uh!pG}BJg#?^dqxaXdG?woJVV}`L1Awq;W7z8d;Lu6B+R4R%5 zuE+^^>wf_Sk|0M+(|p_O_1o~r92Wd0i`(7Xf&QvKnhF*MoG{a5oG%)N027; znoP!9KHAv${owAs`)q4_d+0zq+2{;D4>Oqzl}U6QhaCpoy0==bXU+)L*MAK&K>8@i z7xxqvAPc)?K+ttvLfxf$y)H+i(HD_OODyp|C(_f*_nkFT6~r)6@%Y zDZt5>$ixGhbHgyCN~QAHwrzTVh;friy4|iUisErq)$ZKTmt6lZpH|sm(0^}P)~2ee zCWu%NQ&AKP*?U^8RxP+$K?w}!9D%o9y?!(4o?G|TkDpzA>DD5P$6^!xZtIK7iA3TF z)B%+T8FGRUaAzI^-z@w?z;9+n@9gZE)9er+@n`NRgKq|q zwpguJGw`{U&<9ifGteuxEXx*}cLCcLWWWMuz(y1Gaq%YfqeKXMh9>j~J7a|1J$wZC zcslv_p>`-RrpYds%PbIR3iuC(I%_T-kIzGrv|>+^B;otfHObHCxor*-<`r z6HyetoxXU86m2OjB(UfL&_ojwU1)@*z|MqVT8#)M#)TS4jIc0GqZ>m6)CDnGVBxbQ zc4O#5Lo0FP51_I#v@vag1x29`XlMLRof;@YheBDXC;2kdd(YhS&6#t)d&}5=``1mz zax+=RRS>Z+MnUC(DjtvDCD6UqYUS8|m>5VM3Wd%G0zrW=J3HGm)G1gxIt8BR!;_PfM?@02e%9?x5CmFSF+4n6nM@{q4<0@ePMkWE!T|1R%x+CfaMu`C)PDFZ|RPy+=(5dmbp>j}tYGU|dAAOb{zIFMjj zG9aaIX#q-Q90f*;FN*;(Et)1!Utdq(p9jgT>L`f-jE4Xv=H}*zL=0(O%XBI#Dxx=z zp#$Pxub1AOM^>^fu3!=j3kf0-!DuuJ(P(s2b)yA&gTcUiJRY8cGl?dNz&aw^O$#X0 z9dAfdwOdAe0MaW*D{@FTx5Zj=YFSY=C25SL3_ysuzP`Sjy}iAMkbVWytV%r_^`~8E^1*15Ym(x(DaVC?Abf6T_0=lxY zGP+mi58G5`Po M07*qoM6N<$f?+GPO8@`> literal 0 HcmV?d00001 diff --git a/Assets/Resources/UIToolkit/Images/cursor_resize_v_32.png.meta b/Assets/Resources/UIToolkit/Images/cursor_resize_v_32.png.meta new file mode 100644 index 00000000..e61ccb6f --- /dev/null +++ b/Assets/Resources/UIToolkit/Images/cursor_resize_v_32.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 11ecfc4c6a65f3e4f8d9cab86f8eb2a4 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 7 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: 4 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/UIToolkit/Images/cursor_rotate_bottom_left_32.png b/Assets/Resources/UIToolkit/Images/cursor_rotate_bottom_left_32.png new file mode 100644 index 0000000000000000000000000000000000000000..8abca960a3cc43e9191ffb13baf3584ecf8bd0a8 GIT binary patch literal 1177 zcmV;K1ZMk*P)I@j;h0Gt+;AYSp9TyE3D;JBX3@=E; zaJ9L@jcL{`F(FvJ;ip9+iTouZNF9M>E&V9a@%8w;pQpMBjAnEsE_;(F=ljk%U(a)% z_vf54cGvFO|G+eWZfI!8PA#AneY>(SEoK-Q899(jrKacS=a0JGZb|g-iWxdPJNGGy z@_XM8K@Jkp-rnBQ^73*6yWJ{yJRaJmIgv=5JAc8)4?p%KZ~d~3CzHuvy1KdwF{Zzr zBxrHt($Z2(B=V=acp5}TmgRFqj{O}IJ0hXoqEDKen|n!?mp^&`#D_Nwe*H}s1F6>* z7Z*>`yqcOCE$2LIN@%L8s`SBN&`o}yn4IMPz$N|}q^I3CpZ2Qnq3|##o1UJ2j_uGD z8x-j4>(dk#7P_XUroMbbv)OD(5V&^z1WA&Vyu3VGI0>>eM)SD{M6F2Q zj1|#u(#Hif@NvpuFz_1~YqdNUi>)L26_8D(yEU+AH2O5Xba!_LOG`@?v?=jhTiTW- z6+7WbHI8ifr%#T{q(H7%nCI)&%f>gwvf5Jt~#@$8_FOn?I_#GZNf zc}}3p2p4<{xm!>v>(SOPEG)b?J3IRUo_&-l>556UgldW)yD5pA$wOoJ09NeA-`aNe z$i={A=5#pJda%Fb0cNpUHhdHg|I994x~x9G{bn6|tL}}NNF?%ZadB}ky3#?rJpuAv zMMZ@^6bhMf0v@fXti14f+gTR;@h28XEM#gQojk#6YhH=<^z&wc@4*xbYQ%?lWw47!Z zv-!Km#zs#d5SW7-m)RzTE0cnuk`SQiS0kVO8&nzrX<%UBRh{18bvhkvS(d*lDJf}1 z$&MS1#ue;-RmjiTEt-yQLN1q!Tw-)Oos=PTCon-FsttR_$HyBfWBh*q>v+Exu#0(F zy+Nh#ill-L#YQKtXy(z;(HGj=+mGPc0oaO)ii|7^mzHf!)PHghDMBYC9vz^+-E#IF2jxO40;;i=ZzQK74C00000NkvXXu0mjftY<9} literal 0 HcmV?d00001 diff --git a/Assets/Resources/UIToolkit/Images/cursor_rotate_bottom_left_32.png.meta b/Assets/Resources/UIToolkit/Images/cursor_rotate_bottom_left_32.png.meta new file mode 100644 index 00000000..1db6d8e8 --- /dev/null +++ b/Assets/Resources/UIToolkit/Images/cursor_rotate_bottom_left_32.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 6c573113a9559b24084a52cad526dd74 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 7 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: 4 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/UIToolkit/Images/cursor_rotate_bottom_right_32.png b/Assets/Resources/UIToolkit/Images/cursor_rotate_bottom_right_32.png new file mode 100644 index 0000000000000000000000000000000000000000..7d9ec941c4d822b466e5ac86551e40b9ea459a30 GIT binary patch literal 1192 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 literal 0 HcmV?d00001 diff --git a/Assets/Resources/UIToolkit/Images/cursor_select_32.png.meta b/Assets/Resources/UIToolkit/Images/cursor_select_32.png.meta new file mode 100644 index 00000000..0647f7be --- /dev/null +++ b/Assets/Resources/UIToolkit/Images/cursor_select_32.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 3910925c0a9c48044990753c0b572bd5 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 7 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + resizeAlgorithm: 0 + textureFormat: 4 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/UIToolkit/Images/cursor_wait_32.png b/Assets/Resources/UIToolkit/Images/cursor_wait_32.png new file mode 100644 index 0000000000000000000000000000000000000000..7e770f4c53a4bf7556806a9c317a1b8ddd39ffe6 GIT binary patch literal 857 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 t0(z8#iMSyCr<1!t)%hDY .unity-label { min-width: 80px; + margin-right: var(--space-m); font-size: var(--font-size-body2); color: var(--color-text-primary); - padding-top: var(--space-xs); + -unity-text-align: middle-left; } /* =================================== @@ -46,14 +47,18 @@ margin-bottom: var(--space-xs); } -.utk-boundsfield .unity-vector3-field:last-child { +/* Unity USS does not support :last-child pseudo-class */ +/* .utk-boundsfield .unity-vector3-field:last-child { margin-bottom: 0; -} +} */ .utk-boundsfield .unity-vector3-field > .unity-label { min-width: 50px; - font-size: var(--font-size-caption); + margin-right: var(--space-s); + padding-top: 3px; + font-size: var(--font-size-body2); color: var(--color-text-secondary); + -unity-text-align: upper-left; } /* =================================== @@ -65,9 +70,10 @@ margin-right: var(--space-xs); } -.utk-boundsfield .unity-float-field:last-child { +/* Unity USS does not support :last-child pseudo-class */ +/* .utk-boundsfield .unity-float-field:last-child { margin-right: 0; -} +} */ .utk-boundsfield .unity-float-field > .unity-label { min-width: 14px; diff --git a/Assets/Resources/UIToolkit/Input/UTKDoubleField.uss b/Assets/Resources/UIToolkit/Input/UTKDoubleField.uss new file mode 100644 index 00000000..823eac10 --- /dev/null +++ b/Assets/Resources/UIToolkit/Input/UTKDoubleField.uss @@ -0,0 +1,78 @@ +/* + * =================================== + * UTKDoubleField.uss + * Unity DoubleField 래핑 스타일 + * =================================== + */ + +/* =================================== + Base Container + =================================== */ + +.utk-double-field { + flex-direction: row; + align-items: center; +} + +/* =================================== + Label + =================================== */ + +.utk-double-field > .unity-label { + min-width: 60px; + margin-right: var(--space-m); + font-size: var(--font-size-body2); + color: var(--color-text-primary); + -unity-text-align: middle-left; +} + +/* =================================== + Input + =================================== */ + +.utk-double-field > .unity-base-text-field__input { + flex-grow: 1; + height: var(--size-input-height); + min-width: 60px; + padding-left: var(--space-m); + padding-right: var(--space-m); + background-color: var(--color-bg-input); + border-width: var(--border-width); + border-color: var(--color-border); + border-radius: var(--radius-s); + font-size: var(--font-size-body2); + color: var(--color-text-primary); + --unity-cursor-color: var(--color-text-primary); + transition-duration: var(--anim-fast); + transition-property: border-color, background-color; +} + +.utk-double-field > .unity-base-text-field__input:hover { + border-color: var(--color-btn-primary); +} + +.utk-double-field > .unity-base-text-field__input:focus { + border-color: var(--color-border-focus); +} + +/* =================================== + Disabled State + =================================== */ + +.utk-double-field--disabled { + cursor: arrow; +} + +.utk-double-field--disabled > .unity-base-text-field__input { + background-color: var(--color-btn-disabled); + color: var(--color-text-disabled); + cursor: arrow; +} + +.utk-double-field--disabled > .unity-base-text-field__input:hover { + border-color: var(--color-border); +} + +.utk-double-field--disabled > .unity-label { + color: var(--color-text-disabled); +} diff --git a/Assets/Resources/UIToolkit/Input/UTKDoubleField.uss.meta b/Assets/Resources/UIToolkit/Input/UTKDoubleField.uss.meta new file mode 100644 index 00000000..154e4e0d --- /dev/null +++ b/Assets/Resources/UIToolkit/Input/UTKDoubleField.uss.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 98f69e608a93d484c98ba1b75fe4a1a6 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} + disableValidation: 0 diff --git a/Assets/Resources/UIToolkit/Input/UTKFloatField.uss b/Assets/Resources/UIToolkit/Input/UTKFloatField.uss index 3cf28680..c25d4113 100644 --- a/Assets/Resources/UIToolkit/Input/UTKFloatField.uss +++ b/Assets/Resources/UIToolkit/Input/UTKFloatField.uss @@ -23,6 +23,7 @@ margin-right: var(--space-m); font-size: var(--font-size-body2); color: var(--color-text-primary); + -unity-text-align: middle-left; } /* =================================== @@ -59,13 +60,13 @@ =================================== */ .utk-float-field--disabled { - cursor: default; + cursor: arrow; } .utk-float-field--disabled > .unity-base-text-field__input { background-color: var(--color-btn-disabled); color: var(--color-text-disabled); - cursor: default; + cursor: arrow; } .utk-float-field--disabled > .unity-base-text-field__input:hover { diff --git a/Assets/Resources/UIToolkit/Input/UTKInputField.uss b/Assets/Resources/UIToolkit/Input/UTKInputField.uss index fbb3ab75..aa0a371b 100644 --- a/Assets/Resources/UIToolkit/Input/UTKInputField.uss +++ b/Assets/Resources/UIToolkit/Input/UTKInputField.uss @@ -12,8 +12,6 @@ .utk-input { flex-direction: row; align-items: center; - padding-left: var(--space-s); - padding-right: var(--space-s); } /* =================================== @@ -22,16 +20,10 @@ .utk-input > .unity-label { min-width: 60px; - height: var(--size-input-height); - margin-left: 0; - margin-right: var(--space-s); - padding-left: var(--space-s); - padding-right: var(--space-m); + margin-right: var(--space-m); font-size: var(--font-size-body2); color: var(--color-text-primary); -unity-text-align: middle-left; - border-right-width: var(--border-width); - border-right-color: var(--color-border); } /* =================================== @@ -42,47 +34,35 @@ flex-grow: 1; height: var(--size-input-height); min-width: 120px; - padding-left: var(--space-s); - padding-right: var(--space-s); + padding-left: var(--space-m); + padding-right: var(--space-m); background-color: var(--color-bg-input); border-width: var(--border-width); border-color: var(--color-border); border-radius: var(--radius-s); font-size: var(--font-size-body2); color: var(--color-text-primary); - -unity-text-align: middle-left; --unity-cursor-color: var(--color-text-primary); transition-duration: var(--anim-fast); transition-property: border-color, background-color; } -/* Hide inner text-input border and cursor container */ -.utk-input .unity-text-input { - background-color: transparent; - border-width: 0; - padding: 0; - margin: 0; -} - -.utk-input .unity-base-text-field__input > .unity-text-element { - -unity-text-align: middle-left; -} - -/* Hide cursor container right border (the vertical line) */ -.utk-input .unity-text-field__input, -.utk-input .unity-base-text-field__input--single-line { - border-width: 0; - background-color: transparent; -} - .utk-input > .unity-base-text-field__input:hover { border-color: var(--color-btn-primary); } -.utk-input--focused > .unity-base-text-field__input { +.utk-input > .unity-base-text-field__input:focus { border-color: var(--color-border-focus); } +/* Hide all inner TextField borders */ +.utk-input .unity-text-input { + border-width: 0; + background-color: transparent; + padding: 0; + margin: 0; +} + /* =================================== Placeholder =================================== */ @@ -159,12 +139,13 @@ =================================== */ .utk-input--disabled { - cursor: default; + cursor: arrow; } .utk-input--disabled > .unity-base-text-field__input { + background-color: var(--color-btn-disabled); color: var(--color-text-disabled); - cursor: default; + cursor: arrow; } .utk-input--disabled > .unity-base-text-field__input:hover { diff --git a/Assets/Resources/UIToolkit/Input/UTKIntegerField.uss b/Assets/Resources/UIToolkit/Input/UTKIntegerField.uss index 47ac517d..b198a0c2 100644 --- a/Assets/Resources/UIToolkit/Input/UTKIntegerField.uss +++ b/Assets/Resources/UIToolkit/Input/UTKIntegerField.uss @@ -23,6 +23,7 @@ margin-right: var(--space-m); font-size: var(--font-size-body2); color: var(--color-text-primary); + -unity-text-align: middle-left; } /* =================================== @@ -59,13 +60,13 @@ =================================== */ .utk-integer-field--disabled { - cursor: default; + cursor: arrow; } .utk-integer-field--disabled > .unity-base-text-field__input { background-color: var(--color-btn-disabled); color: var(--color-text-disabled); - cursor: default; + cursor: arrow; } .utk-integer-field--disabled > .unity-base-text-field__input:hover { diff --git a/Assets/Resources/UIToolkit/Input/UTKLongField.uss b/Assets/Resources/UIToolkit/Input/UTKLongField.uss new file mode 100644 index 00000000..b525333d --- /dev/null +++ b/Assets/Resources/UIToolkit/Input/UTKLongField.uss @@ -0,0 +1,78 @@ +/* + * =================================== + * UTKLongField.uss + * Unity LongField 래핑 스타일 + * =================================== + */ + +/* =================================== + Base Container + =================================== */ + +.utk-long-field { + flex-direction: row; + align-items: center; +} + +/* =================================== + Label + =================================== */ + +.utk-long-field > .unity-label { + min-width: 60px; + margin-right: var(--space-m); + font-size: var(--font-size-body2); + color: var(--color-text-primary); + -unity-text-align: middle-left; +} + +/* =================================== + Input + =================================== */ + +.utk-long-field > .unity-base-text-field__input { + flex-grow: 1; + height: var(--size-input-height); + min-width: 60px; + padding-left: var(--space-m); + padding-right: var(--space-m); + background-color: var(--color-bg-input); + border-width: var(--border-width); + border-color: var(--color-border); + border-radius: var(--radius-s); + font-size: var(--font-size-body2); + color: var(--color-text-primary); + --unity-cursor-color: var(--color-text-primary); + transition-duration: var(--anim-fast); + transition-property: border-color, background-color; +} + +.utk-long-field > .unity-base-text-field__input:hover { + border-color: var(--color-btn-primary); +} + +.utk-long-field > .unity-base-text-field__input:focus { + border-color: var(--color-border-focus); +} + +/* =================================== + Disabled State + =================================== */ + +.utk-long-field--disabled { + cursor: arrow; +} + +.utk-long-field--disabled > .unity-base-text-field__input { + background-color: var(--color-btn-disabled); + color: var(--color-text-disabled); + cursor: arrow; +} + +.utk-long-field--disabled > .unity-base-text-field__input:hover { + border-color: var(--color-border); +} + +.utk-long-field--disabled > .unity-label { + color: var(--color-text-disabled); +} diff --git a/Assets/Resources/UIToolkit/Input/UTKLongField.uss.meta b/Assets/Resources/UIToolkit/Input/UTKLongField.uss.meta new file mode 100644 index 00000000..79172baa --- /dev/null +++ b/Assets/Resources/UIToolkit/Input/UTKLongField.uss.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bbb1eac6b6df9034996b14ec5c47bfed +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} + disableValidation: 0 diff --git a/Assets/Resources/UIToolkit/Input/UTKRectField.uss b/Assets/Resources/UIToolkit/Input/UTKRectField.uss index 50974e43..d8f41a14 100644 --- a/Assets/Resources/UIToolkit/Input/UTKRectField.uss +++ b/Assets/Resources/UIToolkit/Input/UTKRectField.uss @@ -20,9 +20,10 @@ .utk-rectfield > .unity-label { min-width: 80px; + margin-right: var(--space-m); font-size: var(--font-size-body2); color: var(--color-text-primary); - padding-top: var(--space-xs); + -unity-text-align: middle-left; } /* =================================== @@ -46,9 +47,10 @@ margin-bottom: var(--space-xs); } -.utk-rectfield .unity-vector2-field:last-child { +/* Unity USS does not support :last-child pseudo-class */ +/* .utk-rectfield .unity-vector2-field:last-child { margin-bottom: 0; -} +} */ /* =================================== Individual Float Fields @@ -59,9 +61,10 @@ margin-right: var(--space-xs); } -.utk-rectfield .unity-float-field:last-child { +/* Unity USS does not support :last-child pseudo-class */ +/* .utk-rectfield .unity-float-field:last-child { margin-right: 0; -} +} */ .utk-rectfield .unity-float-field > .unity-label { min-width: 14px; diff --git a/Assets/Resources/UIToolkit/Input/UTKVector2Field.uss b/Assets/Resources/UIToolkit/Input/UTKVector2Field.uss index 76acaf2a..84dfbeb6 100644 --- a/Assets/Resources/UIToolkit/Input/UTKVector2Field.uss +++ b/Assets/Resources/UIToolkit/Input/UTKVector2Field.uss @@ -23,6 +23,7 @@ margin-right: var(--space-m); font-size: var(--font-size-body2); color: var(--color-text-primary); + -unity-text-align: middle-left; } /* =================================== @@ -51,9 +52,10 @@ margin-right: var(--space-s); } -.utk-vector2-field .unity-float-field:last-child { +/* Unity USS does not support :last-child pseudo-class */ +/* .utk-vector2-field .unity-float-field:last-child { margin-right: 0; -} +} */ .utk-vector2-field .unity-float-field > .unity-label { min-width: 12px; @@ -91,13 +93,13 @@ =================================== */ .utk-vector2-field--disabled { - cursor: default; + cursor: arrow; } .utk-vector2-field--disabled .unity-float-field > .unity-base-text-field__input { background-color: var(--color-btn-disabled); color: var(--color-text-disabled); - cursor: default; + cursor: arrow; } .utk-vector2-field--disabled .unity-float-field > .unity-base-text-field__input:hover { diff --git a/Assets/Resources/UIToolkit/Input/UTKVector3Field.uss b/Assets/Resources/UIToolkit/Input/UTKVector3Field.uss index 1fd1e33b..84d44db9 100644 --- a/Assets/Resources/UIToolkit/Input/UTKVector3Field.uss +++ b/Assets/Resources/UIToolkit/Input/UTKVector3Field.uss @@ -23,6 +23,7 @@ margin-right: var(--space-m); font-size: var(--font-size-body2); color: var(--color-text-primary); + -unity-text-align: middle-left; } /* =================================== @@ -51,9 +52,10 @@ margin-right: var(--space-s); } -.utk-vector3-field .unity-float-field:last-child { +/* Unity USS does not support :last-child pseudo-class */ +/* .utk-vector3-field .unity-float-field:last-child { margin-right: 0; -} +} */ .utk-vector3-field .unity-float-field > .unity-label { min-width: 12px; @@ -91,13 +93,13 @@ =================================== */ .utk-vector3-field--disabled { - cursor: default; + cursor: arrow; } .utk-vector3-field--disabled .unity-float-field > .unity-base-text-field__input { background-color: var(--color-btn-disabled); color: var(--color-text-disabled); - cursor: default; + cursor: arrow; } .utk-vector3-field--disabled .unity-float-field > .unity-base-text-field__input:hover { diff --git a/Assets/Resources/UIToolkit/Input/UTKVector4Field.uss b/Assets/Resources/UIToolkit/Input/UTKVector4Field.uss index facf77cd..1e00fb56 100644 --- a/Assets/Resources/UIToolkit/Input/UTKVector4Field.uss +++ b/Assets/Resources/UIToolkit/Input/UTKVector4Field.uss @@ -20,8 +20,10 @@ .utk-vector4field > .unity-label { min-width: 80px; + margin-right: var(--space-m); font-size: var(--font-size-body2); color: var(--color-text-primary); + -unity-text-align: middle-left; } /* =================================== @@ -42,9 +44,10 @@ margin-right: var(--space-xs); } -.utk-vector4field .unity-float-field:last-child { +/* Unity USS does not support :last-child pseudo-class */ +/* .utk-vector4field .unity-float-field:last-child { margin-right: 0; -} +} */ .utk-vector4field .unity-float-field > .unity-label { min-width: 14px; diff --git a/Assets/Resources/UIToolkit/List/UTKAccordionList.uss b/Assets/Resources/UIToolkit/List/UTKAccordionList.uss index e27087e0..c16487b7 100644 --- a/Assets/Resources/UIToolkit/List/UTKAccordionList.uss +++ b/Assets/Resources/UIToolkit/List/UTKAccordionList.uss @@ -388,7 +388,7 @@ .accordion-drag-ghost { position: absolute; opacity: 0.8; - pointer-events: none; + /* pointer-events: none; */ /* Unity USS does not support pointer-events */ width: 116px; height: 87px; background-color: transparent; diff --git a/Assets/Resources/UIToolkit/List/UTKImageList.uss b/Assets/Resources/UIToolkit/List/UTKImageList.uss index 9f2d3fb0..ca3d1652 100644 --- a/Assets/Resources/UIToolkit/List/UTKImageList.uss +++ b/Assets/Resources/UIToolkit/List/UTKImageList.uss @@ -159,7 +159,7 @@ .drag-ghost { position: absolute; opacity: 0.7; - pointer-events: none; + /* pointer-events: none; */ /* Unity USS does not support pointer-events */ width: 80px; height: 60px; background-color: transparent; diff --git a/Assets/Resources/UIToolkit/List/UTKListView.uss b/Assets/Resources/UIToolkit/List/UTKListView.uss index bb10b724..065f3b23 100644 --- a/Assets/Resources/UIToolkit/List/UTKListView.uss +++ b/Assets/Resources/UIToolkit/List/UTKListView.uss @@ -30,18 +30,29 @@ =================================== */ .utk-listview .unity-list-view__item { - padding: var(--space-s) var(--space-m); + padding-top: var(--space-s); + padding-bottom: var(--space-s); + padding-left: var(--space-m); + padding-right: var(--space-m); + margin: 0; background-color: transparent; - border-bottom-width: 1px; - border-bottom-color: var(--color-border); transition-duration: var(--anim-fast); transition-property: background-color; + font-size: var(--font-size-body2); + height: auto; + min-height: 28px; + -unity-text-align: middle-left; } -.utk-listview .unity-list-view__item:last-child { - border-bottom-width: 0; +.utk-listview .unity-collection-view__item--selected { + color: var(--color-base-01); } +/* Unity USS does not support :last-child pseudo-class */ +/* .utk-listview .unity-list-view__item:last-child { + border-bottom-width: 0; +} */ + .utk-listview .unity-list-view__item:hover { background-color: var(--color-btn-hover); } @@ -58,31 +69,31 @@ Item Label =================================== */ -.utk-listview .unity-list-view__item > .unity-label { - font-size: var(--font-size-body2); - color: var(--color-text-primary); +.utk-listview .unity-list-view__item .unity-label, +.utk-listview .unity-list-view__item .unity-text-element { + font-size: var(--font-size-body2) !important; + color: var(--color-text-primary) !important; + -unity-text-align: middle-left !important; + padding-top: 0 !important; + padding-bottom: 0 !important; } -.utk-listview .unity-list-view__item--selected > .unity-label { - color: var(--color-text-on-primary); +.utk-listview .unity-list-view__item--selected .unity-label, +.utk-listview .unity-list-view__item--selected .unity-text-element { + color: var(--color-base-01) !important; } /* =================================== Alternating Rows =================================== */ -.utk-listview--alternating .unity-list-view__item:nth-child(even) { - background-color: rgba(0, 0, 0, 0.05); -} +/* Note: Alternating rows must be handled in C# code + Unity USS does not support :nth-child() pseudo-class */ /* =================================== Scrollbar =================================== */ -.utk-listview .unity-scroller--vertical { - width: 8px; -} - .utk-listview .unity-scroller--vertical > .unity-scroller__low-button, .utk-listview .unity-scroller--vertical > .unity-scroller__high-button { display: none; @@ -108,14 +119,5 @@ Empty State =================================== */ -.utk-listview--empty::after { - content: "No items"; - font-size: var(--font-size-body2); - color: var(--color-text-secondary); - -unity-text-align: middle-center; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; -} +/* Unity USS does not support CSS pseudo-elements. + Empty state should be handled in C# code by adding a Label element. */ diff --git a/Assets/Resources/UIToolkit/List/UTKMultiColumnListView.uss b/Assets/Resources/UIToolkit/List/UTKMultiColumnListView.uss index 0257d405..d58a68a3 100644 --- a/Assets/Resources/UIToolkit/List/UTKMultiColumnListView.uss +++ b/Assets/Resources/UIToolkit/List/UTKMultiColumnListView.uss @@ -34,9 +34,10 @@ border-right-color: var(--color-border-light); } -.utk-multicolumn-listview .unity-multi-column-header__column:last-child { +/* Unity USS does not support :last-child pseudo-class */ +/* .utk-multicolumn-listview .unity-multi-column-header__column:last-child { border-right-width: 0; -} +} */ .utk-multicolumn-listview .unity-multi-column-header__column:hover { background-color: var(--color-btn-hover); @@ -96,9 +97,10 @@ border-right-color: var(--color-border-light); } -.utk-multicolumn-listview .unity-multi-column-view__cell:last-child { +/* Unity USS does not support :last-child pseudo-class */ +/* .utk-multicolumn-listview .unity-multi-column-view__cell:last-child { border-right-width: 0; -} +} */ .utk-multicolumn-listview .unity-multi-column-view__cell > .unity-label { font-size: var(--font-size-body2); @@ -113,9 +115,8 @@ Alternating Rows =================================== */ -.utk-multicolumn-listview--alternating .unity-list-view__item:nth-child(even) { - background-color: rgba(0, 0, 0, 0.03); -} +/* Note: Alternating rows must be handled in C# code + Unity USS does not support :nth-child() pseudo-class */ /* =================================== Scrollbar diff --git a/Assets/Resources/UIToolkit/List/UTKMultiColumnTreeView.uss b/Assets/Resources/UIToolkit/List/UTKMultiColumnTreeView.uss index 4fb0822e..5ee9813c 100644 --- a/Assets/Resources/UIToolkit/List/UTKMultiColumnTreeView.uss +++ b/Assets/Resources/UIToolkit/List/UTKMultiColumnTreeView.uss @@ -34,9 +34,10 @@ border-right-color: var(--color-border-light); } -.utk-multicolumn-treeview .unity-multi-column-header__column:last-child { +/* Unity USS does not support :last-child pseudo-class */ +/* .utk-multicolumn-treeview .unity-multi-column-header__column:last-child { border-right-width: 0; -} +} */ .utk-multicolumn-treeview .unity-multi-column-header__column:hover { background-color: var(--color-btn-hover); @@ -129,9 +130,10 @@ border-right-color: var(--color-border-light); } -.utk-multicolumn-treeview .unity-multi-column-view__cell:last-child { +/* Unity USS does not support :last-child pseudo-class */ +/* .utk-multicolumn-treeview .unity-multi-column-view__cell:last-child { border-right-width: 0; -} +} */ .utk-multicolumn-treeview .unity-multi-column-view__cell > .unity-label { font-size: var(--font-size-body2); diff --git a/Assets/Resources/UIToolkit/List/UTKTreeView.uss b/Assets/Resources/UIToolkit/List/UTKTreeView.uss index 36aeb515..55e48cbe 100644 --- a/Assets/Resources/UIToolkit/List/UTKTreeView.uss +++ b/Assets/Resources/UIToolkit/List/UTKTreeView.uss @@ -54,7 +54,7 @@ } .utk-treeview .unity-tree-view__item-toggle:checked { - rotate: 90deg; + rotate: 0deg; } .utk-treeview .unity-tree-view__item--selected .unity-tree-view__item-toggle { diff --git a/Assets/Resources/UIToolkit/Modal/UTKPanel.uss b/Assets/Resources/UIToolkit/Modal/UTKPanel.uss index 6b09f5d7..97bc6305 100644 --- a/Assets/Resources/UIToolkit/Modal/UTKPanel.uss +++ b/Assets/Resources/UIToolkit/Modal/UTKPanel.uss @@ -60,7 +60,7 @@ } .utk-panel--collapsible .utk-panel__header { - cursor: link; + cursor: resource('UIToolkit/Images/cursor_point_white_32') 14 5; } .utk-panel--collapsible .utk-panel__header:hover { diff --git a/Assets/Resources/UIToolkit/Property/UTKPropertyCommon.uss b/Assets/Resources/UIToolkit/Property/UTKPropertyCommon.uss index 7904beaf..dc4ef415 100644 --- a/Assets/Resources/UIToolkit/Property/UTKPropertyCommon.uss +++ b/Assets/Resources/UIToolkit/Property/UTKPropertyCommon.uss @@ -239,9 +239,10 @@ margin-right: var(--space-m); } -.utk-property-item__vector-field:last-child { +/* Unity USS does not support :last-child pseudo-class */ +/* .utk-property-item__vector-field:last-child { margin-right: 0; -} +} */ .utk-property-item__vector-label { width: 12px; @@ -296,7 +297,7 @@ background-color: var(--color-bg-elevated); border-bottom-width: var(--border-width); border-bottom-color: var(--color-border); - cursor: pointer; + cursor: resource('UIToolkit/Images/cursor_point_white_32') 14 5; } .utk-property-group__header:hover { diff --git a/Assets/Resources/UIToolkit/Property/UTKPropertyWindow.uss b/Assets/Resources/UIToolkit/Property/UTKPropertyWindow.uss index 8188dde3..e9b4a0d4 100644 --- a/Assets/Resources/UIToolkit/Property/UTKPropertyWindow.uss +++ b/Assets/Resources/UIToolkit/Property/UTKPropertyWindow.uss @@ -8,7 +8,7 @@ border-color: var(--color-border); min-width: 300px; min-height: 200px; - box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); + /* box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); */ /* Unity USS does not support box-shadow */ } .utk-property-window__header { @@ -23,7 +23,7 @@ border-top-right-radius: 8px; border-bottom-width: 1px; border-bottom-color: var(--color-border); - cursor: pointer; + cursor: resource('UIToolkit/Images/cursor_point_white_32') 14 5; } .utk-property-window__title { diff --git a/Assets/Resources/UIToolkit/Sample/UTKStyleGuideSample.uss b/Assets/Resources/UIToolkit/Sample/UTKStyleGuideSample.uss index c9cedf07..1bf8f861 100644 --- a/Assets/Resources/UIToolkit/Sample/UTKStyleGuideSample.uss +++ b/Assets/Resources/UIToolkit/Sample/UTKStyleGuideSample.uss @@ -87,7 +87,7 @@ padding: 8px 12px; margin: 2px 0; border-radius: 4px; - cursor: link; + cursor: resource('UIToolkit/Images/cursor_point_white_32') 14 5; transition-duration: 0.15s; transition-property: background-color; } diff --git a/Assets/Resources/UIToolkit/Slider/UTKMinMaxSlider.uss b/Assets/Resources/UIToolkit/Slider/UTKMinMaxSlider.uss index 3a684e04..a8b55b29 100644 --- a/Assets/Resources/UIToolkit/Slider/UTKMinMaxSlider.uss +++ b/Assets/Resources/UIToolkit/Slider/UTKMinMaxSlider.uss @@ -23,6 +23,7 @@ margin-right: var(--space-m); font-size: var(--font-size-body2); color: var(--color-text-primary); + -unity-text-align: middle-left; } /* =================================== @@ -65,13 +66,15 @@ .utk-minmax-slider .unity-min-max-slider__max-thumb { width: 16px; height: 16px; + min-height: 16px; + margin-top: -6px; border-radius: var(--radius-full); background-color: var(--color-btn-primary); border-width: 2px; border-color: var(--color-text-on-primary); transition-duration: var(--anim-fast); transition-property: scale; - cursor: link; + cursor: resource('UIToolkit/Images/cursor_point_white_32') 14 5; } .utk-minmax-slider .unity-min-max-slider__min-thumb:hover, @@ -89,7 +92,7 @@ =================================== */ .utk-minmax-slider--disabled { - cursor: default; + cursor: arrow; } .utk-minmax-slider--disabled .unity-min-max-slider__tracker { @@ -103,7 +106,7 @@ .utk-minmax-slider--disabled .unity-min-max-slider__min-thumb, .utk-minmax-slider--disabled .unity-min-max-slider__max-thumb { background-color: var(--color-text-disabled); - cursor: default; + cursor: arrow; } .utk-minmax-slider--disabled .unity-min-max-slider__min-thumb:hover, diff --git a/Assets/Resources/UIToolkit/Slider/UTKProgressBar.uss b/Assets/Resources/UIToolkit/Slider/UTKProgressBar.uss index e0d3dc48..34293039 100644 --- a/Assets/Resources/UIToolkit/Slider/UTKProgressBar.uss +++ b/Assets/Resources/UIToolkit/Slider/UTKProgressBar.uss @@ -84,7 +84,9 @@ Indeterminate Animation =================================== */ -.utk-progress--indeterminate .unity-progress-bar__progress { +/* Unity USS does not support CSS animations (@keyframes, animation-* properties) */ +/* Indeterminate progress bar animation must be implemented in C# code using DOTween or similar */ +/* .utk-progress--indeterminate .unity-progress-bar__progress { width: 30%; animation-name: indeterminate-slide; animation-duration: 1.5s; @@ -102,4 +104,4 @@ 100% { translate: -100% 0; } -} +} */ diff --git a/Assets/Resources/UIToolkit/Slider/UTKSlider.uss b/Assets/Resources/UIToolkit/Slider/UTKSlider.uss index 377b97d5..d0d9bbe2 100644 --- a/Assets/Resources/UIToolkit/Slider/UTKSlider.uss +++ b/Assets/Resources/UIToolkit/Slider/UTKSlider.uss @@ -23,6 +23,7 @@ margin-right: var(--space-m); font-size: var(--font-size-body2); color: var(--color-text-primary); + -unity-text-align: middle-left; } /* =================================== @@ -31,7 +32,7 @@ .utk-slider > .unity-slider__input { flex-grow: 1; - height: 20px; + flex-direction: row; align-items: center; } @@ -45,8 +46,14 @@ background-color: var(--color-bg-input); border-width: var(--border-width); border-color: var(--color-border); - margin-top: 0; - top: auto; +} + +/* =================================== + Drag Container + =================================== */ + +.utk-slider .unity-base-slider__drag-container { + height: 6px; } /* =================================== @@ -56,14 +63,14 @@ .utk-slider .unity-base-slider__dragger { width: 16px; height: 16px; - margin-top: -5px; + margin-top: -8px; border-radius: var(--radius-full); background-color: var(--color-btn-primary); border-width: 2px; border-color: var(--color-text-on-primary); transition-duration: var(--anim-fast); transition-property: scale; - cursor: link; + cursor: resource('UIToolkit/Images/cursor_point_white_32') 14 5; } .utk-slider .unity-base-slider__dragger:hover { @@ -74,20 +81,12 @@ scale: 1.2; } -/* =================================== - Fill (Dragger Border) - =================================== */ - -.utk-slider .unity-base-slider__drag-container { - height: 6px; -} - /* =================================== Disabled State =================================== */ .utk-slider--disabled { - cursor: default; + cursor: arrow; } .utk-slider--disabled .unity-base-slider__tracker { @@ -96,7 +95,7 @@ .utk-slider--disabled .unity-base-slider__dragger { background-color: var(--color-text-disabled); - cursor: default; + cursor: arrow; } .utk-slider--disabled .unity-base-slider__dragger:hover { diff --git a/Assets/Resources/UIToolkit/Settings.meta b/Assets/Resources/UIToolkit/Style.meta similarity index 100% rename from Assets/Resources/UIToolkit/Settings.meta rename to Assets/Resources/UIToolkit/Style.meta diff --git a/Assets/Resources/UIToolkit/Settings/UTKComponents.uss b/Assets/Resources/UIToolkit/Style/UTKComponents.uss similarity index 82% rename from Assets/Resources/UIToolkit/Settings/UTKComponents.uss rename to Assets/Resources/UIToolkit/Style/UTKComponents.uss index 23e8a978..ae141ec0 100644 --- a/Assets/Resources/UIToolkit/Settings/UTKComponents.uss +++ b/Assets/Resources/UIToolkit/Style/UTKComponents.uss @@ -231,14 +231,8 @@ .utk-input { height: var(--size-input-height); - background-color: var(--color-bg-input); - border-width: var(--border-width); - border-color: var(--color-border); - border-radius: var(--radius-m); color: var(--color-text-primary); font-size: var(--font-size-body1); - padding-left: var(--space-m); - padding-right: var(--space-m); } .utk-input:focus { @@ -419,6 +413,89 @@ } +/* =================================== + Dropdown Popup Menu + =================================== */ + +.unity-base-dropdown__container-outer { + border-radius: var(--radius-m); + border-width: var(--border-width); + border-color: var(--color-base-06); + overflow: hidden; +} + +.unity-base-dropdown { + background-color: var(--color-base-01); + padding: var(--space-xs); + margin-top: 2px; +} + +.unity-base-dropdown__item { + height: 28px; + padding-left: var(--space-m); + padding-right: var(--space-m); + padding-top: var(--space-xs); + padding-bottom: var(--space-xs); + background-color: transparent; + border-radius: var(--radius-xs); + transition-duration: var(--anim-fast); + transition-property: background-color; + cursor: resource('UIToolkit/Images/cursor_point_white_32') 14 5; +} + +.unity-base-dropdown__item:hover:enabled { + background-color: var(--color-collection-item-hover) !important; +} + +.unity-base-dropdown__item:checked { + background-color: var(--color-blue-05); +} + +.unity-base-dropdown__item:checked:hover { + background-color: var(--color-blue-06); +} + +/* 드롭다운 항목 콘텐츠 */ +.unity-base-dropdown__item-content { + flex-direction: row; + align-items: center; +} + +.unity-base-dropdown__item:hover .unity-base-dropdown__item-content { + background-color: var(--color-collection-item-hover); +} + +.unity-base-dropdown__item:checked .unity-base-dropdown__item-content { + background-color: var(--color-blue-05); +} + +.unity-base-dropdown__item:checked:hover .unity-base-dropdown__item-content { + background-color: var(--color-blue-06); +} + +/* 드롭다운 항목 라벨 */ +.unity-base-dropdown__label { + font-size: 12px; + color: var(--color-base-20); + -unity-text-align: middle-left; + padding-left: 0; + padding-right: 0; +} + +.unity-base-dropdown__item:checked .unity-base-dropdown__label { + color: var(--color-base-01); +} + +/* 드롭다운 체크마크 */ +.unity-base-dropdown__item .unity-base-dropdown__checkmark { + width: 16px; + height: 16px; + min-width: 16px; + min-height: 16px; + -unity-background-image-tint-color: var(--color-base-01); +} + + /* =================================== Border Radius Utilities =================================== */ diff --git a/Assets/Resources/UIToolkit/Settings/UTKComponents.uss.meta b/Assets/Resources/UIToolkit/Style/UTKComponents.uss.meta similarity index 100% rename from Assets/Resources/UIToolkit/Settings/UTKComponents.uss.meta rename to Assets/Resources/UIToolkit/Style/UTKComponents.uss.meta diff --git a/Assets/Resources/UIToolkit/Settings/UTKDefaultRuntimeTheme.tss b/Assets/Resources/UIToolkit/Style/UTKDefaultRuntimeTheme.tss similarity index 100% rename from Assets/Resources/UIToolkit/Settings/UTKDefaultRuntimeTheme.tss rename to Assets/Resources/UIToolkit/Style/UTKDefaultRuntimeTheme.tss diff --git a/Assets/Resources/UIToolkit/Settings/UTKDefaultRuntimeTheme.tss.meta b/Assets/Resources/UIToolkit/Style/UTKDefaultRuntimeTheme.tss.meta similarity index 100% rename from Assets/Resources/UIToolkit/Settings/UTKDefaultRuntimeTheme.tss.meta rename to Assets/Resources/UIToolkit/Style/UTKDefaultRuntimeTheme.tss.meta diff --git a/Assets/Resources/UIToolkit/Settings/UTKDefaultStyle.uss b/Assets/Resources/UIToolkit/Style/UTKDefaultStyle.uss similarity index 78% rename from Assets/Resources/UIToolkit/Settings/UTKDefaultStyle.uss rename to Assets/Resources/UIToolkit/Style/UTKDefaultStyle.uss index d967ea1a..39ec3dfe 100644 --- a/Assets/Resources/UIToolkit/Settings/UTKDefaultStyle.uss +++ b/Assets/Resources/UIToolkit/Style/UTKDefaultStyle.uss @@ -224,8 +224,9 @@ /* =================================== Border Radius (radius-*) =================================== */ - --radius-s: 2px; - --radius-m: 4px; + --radius-xs: 2px; + --radius-s: 4px; + --radius-m: 6px; --radius-l: 8px; --radius-full: 9999px; @@ -284,15 +285,23 @@ /* =================================== 드롭다운 팝업 아이템 스타일 - DropdownField의 팝업 메뉴 항목 스타일 +- UTKComponents.uss에서 전역 스타일 정의됨 =================================== */ +/* 드롭다운 최외곽 컨테이너 - border-radius 및 border 적용 + UTKComponents.uss에도 정의되어 있지만, Unity 기본 스타일시트가 나중에 로드되어 + 덮어쓰기 때문에 !important를 사용하여 강제로 오버라이드합니다. + border와 border-radius를 같은 요소에 적용하여 코너 렌더링 문제 방지. */ +.unity-base-dropdown__container-outer { + border-radius: var(--radius-m) !important; + border-width: var(--border-width) !important; + border-color: var(--color-base-06) !important; + overflow: hidden !important; +} - -/* 드롭다운 개별 항목 - 패딩 제거 및 어두운 배경색 적용 */ -.unity-base-dropdown__item { - padding: 0px; - background-color: rgb(40, 44, 52); /* 어두운 회색 배경 */ - color: rgb(255, 255, 255); /* 흰색 텍스트 */ +/* 드롭다운 팝업 컨테이너 - border 제거 (최외곽 컨테이너에만 border 적용) */ +.unity-base-dropdown { + border-width: 0 !important; } /* 드롭다운 내부 컨테이너 - 패딩 제거 */ @@ -300,21 +309,138 @@ padding: 0px; } +/* 드롭다운 항목 hover 스타일 - Unity 기본 스타일 오버라이드 + 다크 테마에 적합한 어두운 회색(#333333)으로 설정. + Unity의 기본 cyan 계열 hover 색상을 덮어쓰기 위해 !important 사용. + :enabled 의사 클래스는 Unity 기본 스타일과 동일한 specificity 확보용. */ +.unity-base-dropdown__item:hover:enabled { + background-color: var(--color-collection-item-hover) !important; +} + +.unity-base-dropdown__item:hover:enabled .unity-base-dropdown__item-content { + background-color: var(--color-collection-item-hover) !important; +} + + +/* =================================== +ListView/TreeView 항목 텍스트 스타일 +- Unity 기본 스타일 오버라이드 +=================================== */ + +/* ListView 항목 컨테이너 자체에 색상 지정 */ +.unity-collection-view__item, +.unity-list-view__item { + color: var(--color-text-primary) !important; +} + +/* ListView 항목 텍스트 색상 및 크기 - 다크 테마용 */ +.unity-collection-view__item .unity-label, +.unity-collection-view__item .unity-text-element, +.unity-list-view__item .unity-label, +.unity-list-view__item .unity-text-element { + color: var(--color-text-primary) !important; + font-size: var(--font-size-body2) !important; +} + +.unity-collection-view__item--selected, +.unity-list-view__item--selected { + color: var(--color-base-01) !important; +} + +.unity-collection-view__item--selected .unity-label, +.unity-collection-view__item--selected .unity-text-element, +.unity-list-view__item--selected .unity-label, +.unity-list-view__item--selected .unity-text-element { + color: var(--color-base-01) !important; +} + +/* TreeView 항목 텍스트 색상 */ +.unity-tree-view__item .unity-label, +.unity-tree-view__item .unity-text-element { + color: var(--color-text-primary) !important; + -unity-text-align: middle-left; + padding-top: 0; + padding-bottom: 0; +} + +.unity-tree-view__item--selected .unity-label, +.unity-tree-view__item--selected .unity-text-element { + color: var(--color-base-01) !important; +} + /* =================================== TreeView 항목 스타일 - TreeView의 펼치기/접기 토글 버튼 스타일 =================================== */ -/* TreeView 펼치기/접기 화살표 토글 - 우측 여백 추가 */ +/* TreeView 펼치기/접기 화살표 토글 - 크기 및 정렬 조정 */ .unity-tree-view__item-toggle { - margin-right: 0px; + margin-right: 4px; + width: 16px; + height: 16px; + min-width: 16px; + min-height: 16px; + padding: 0; + -unity-background-image-tint-color: var(--color-text-secondary); +} + +.unity-tree-view__item-toggle:hover { + -unity-background-image-tint-color: var(--color-text-primary); +} + +/* TreeView 토글 입력 영역 - 회전 중심 맞추기 */ +.unity-tree-view__item-toggle > .unity-toggle__input { + width: 16px; + height: 16px; + min-width: 16px; + min-height: 16px; + align-items: center; + justify-content: center; + padding: 0; + margin: 0; +} + +/* TreeView 토글 체크마크(화살표 아이콘) */ +.unity-tree-view__item-toggle > .unity-toggle__input > #unity-checkmark { + width: 16px; + height: 16px; + min-width: 16px; + min-height: 16px; +} + +/* TreeView 토글 체크됨(펼쳐진 상태) - 회전 없음 */ +.unity-tree-view__item-toggle:checked > .unity-toggle__input > #unity-checkmark { + rotate: 0deg; } #unity-checkmark { -unity-background-image-tint-color: rgb(255, 255, 255); } +/* 드롭다운 체크마크 크기 오버라이드 */ +.unity-base-dropdown__checkmark { + width: 16px; + height: 16px; + min-width: 16px; + min-height: 16px; +} + +/* 드롭다운 라벨 스타일 오버라이드 */ +.unity-base-dropdown__item .unity-base-dropdown__label { + font-size: 12px; + color: var(--color-base-20); + -unity-text-align: middle-left; + padding-left: 0; + padding-right: 0; + padding-top: 0; + padding-bottom: 0; + margin-left: 0; + margin-right: 0; + margin-top: 0; + margin-bottom: 0; +} + #unity-tree-view__item-toggle > VisualElement > VisualElement { margin-left: 0; margin-right: 0; @@ -403,7 +529,7 @@ SetupDraggerEvents() 메서드처럼 코드로 MouseEnterEvent/MouseLeaveEvent /* 수직 스크롤바 컨테이너 - 폭 6px의 슬림한 스크롤바 */ .unity-scroller--vertical { width: 6px; - margin-right: 4px; + margin-right: 0px; margin-bottom: 0; background-color: rgba(30, 30, 30, 0); /* 스크롤바 영역 배경색 */ } diff --git a/Assets/Resources/UIToolkit/Settings/UTKDefaultStyle.uss.meta b/Assets/Resources/UIToolkit/Style/UTKDefaultStyle.uss.meta similarity index 100% rename from Assets/Resources/UIToolkit/Settings/UTKDefaultStyle.uss.meta rename to Assets/Resources/UIToolkit/Style/UTKDefaultStyle.uss.meta diff --git a/Assets/Resources/UIToolkit/Settings/UTKSettings.asset b/Assets/Resources/UIToolkit/Style/UTKSettings.asset similarity index 100% rename from Assets/Resources/UIToolkit/Settings/UTKSettings.asset rename to Assets/Resources/UIToolkit/Style/UTKSettings.asset diff --git a/Assets/Resources/UIToolkit/Settings/UTKSettings.asset.meta b/Assets/Resources/UIToolkit/Style/UTKSettings.asset.meta similarity index 100% rename from Assets/Resources/UIToolkit/Settings/UTKSettings.asset.meta rename to Assets/Resources/UIToolkit/Style/UTKSettings.asset.meta diff --git a/Assets/Resources/UIToolkit/Settings/UTKThemeDark.uss b/Assets/Resources/UIToolkit/Style/UTKThemeDark.uss similarity index 100% rename from Assets/Resources/UIToolkit/Settings/UTKThemeDark.uss rename to Assets/Resources/UIToolkit/Style/UTKThemeDark.uss diff --git a/Assets/Resources/UIToolkit/Settings/UTKThemeDark.uss.meta b/Assets/Resources/UIToolkit/Style/UTKThemeDark.uss.meta similarity index 100% rename from Assets/Resources/UIToolkit/Settings/UTKThemeDark.uss.meta rename to Assets/Resources/UIToolkit/Style/UTKThemeDark.uss.meta diff --git a/Assets/Resources/UIToolkit/Settings/UTKThemeLight.uss b/Assets/Resources/UIToolkit/Style/UTKThemeLight.uss similarity index 100% rename from Assets/Resources/UIToolkit/Settings/UTKThemeLight.uss rename to Assets/Resources/UIToolkit/Style/UTKThemeLight.uss diff --git a/Assets/Resources/UIToolkit/Settings/UTKThemeLight.uss.meta b/Assets/Resources/UIToolkit/Style/UTKThemeLight.uss.meta similarity index 100% rename from Assets/Resources/UIToolkit/Settings/UTKThemeLight.uss.meta rename to Assets/Resources/UIToolkit/Style/UTKThemeLight.uss.meta diff --git a/Assets/Resources/UIToolkit/Settings/UTKVariables.uss b/Assets/Resources/UIToolkit/Style/UTKVariables.uss similarity index 97% rename from Assets/Resources/UIToolkit/Settings/UTKVariables.uss rename to Assets/Resources/UIToolkit/Style/UTKVariables.uss index 1db36a83..d344a127 100644 --- a/Assets/Resources/UIToolkit/Settings/UTKVariables.uss +++ b/Assets/Resources/UIToolkit/Style/UTKVariables.uss @@ -27,8 +27,9 @@ /* =================================== Border Radius (radius-*) =================================== */ - --radius-s: 2px; - --radius-m: 4px; + --radius-xs: 2px; + --radius-s: 4px; + --radius-m: 6px; --radius-l: 8px; --radius-xl: 12px; --radius-full: 9999px; diff --git a/Assets/Resources/UIToolkit/Settings/UTKVariables.uss.meta b/Assets/Resources/UIToolkit/Style/UTKVariables.uss.meta similarity index 100% rename from Assets/Resources/UIToolkit/Settings/UTKVariables.uss.meta rename to Assets/Resources/UIToolkit/Style/UTKVariables.uss.meta diff --git a/Assets/Resources/UIToolkit/Tab/UTKTab.uss b/Assets/Resources/UIToolkit/Tab/UTKTab.uss index 1c61bfb8..f36396e2 100644 --- a/Assets/Resources/UIToolkit/Tab/UTKTab.uss +++ b/Assets/Resources/UIToolkit/Tab/UTKTab.uss @@ -18,7 +18,7 @@ border-width: 0; border-bottom-width: 2px; border-bottom-color: transparent; - cursor: link; + cursor: resource('UIToolkit/Images/cursor_point_white_32') 14 5; transition-duration: var(--anim-fast); transition-property: background-color, border-color, color; } @@ -83,7 +83,7 @@ =================================== */ .utk-tab--disabled { - cursor: default; + cursor: arrow; } .utk-tab--disabled:hover { diff --git a/Assets/Resources/UIToolkit/Window/UTKComponentListWindow.uss b/Assets/Resources/UIToolkit/Window/UTKComponentListWindow.uss index a7b7c289..91a7bce6 100644 --- a/Assets/Resources/UIToolkit/Window/UTKComponentListWindow.uss +++ b/Assets/Resources/UIToolkit/Window/UTKComponentListWindow.uss @@ -10,7 +10,7 @@ UTKComponentTabListWindow { height: 100%; position: absolute; top: 0; - left: 400; + left: 400px; bottom: 0; } diff --git a/Assets/Sample/UIToolkit/UTKStyleGuideSample.cs b/Assets/Sample/UIToolkit/UTKStyleGuideSample.cs index 8910661e..d9fb0f02 100644 --- a/Assets/Sample/UIToolkit/UTKStyleGuideSample.cs +++ b/Assets/Sample/UIToolkit/UTKStyleGuideSample.cs @@ -48,9 +48,9 @@ public class UTKStyleGuideSample : MonoBehaviour private static readonly Dictionary ControlCategories = new() { ["Button"] = new[] { "UTKButton", "UTKCheckBox", "UTKToggle", "UTKRadioButton", "UTKToggleButtonGroup" }, - ["Input"] = new[] { "UTKInputField", "UTKIntegerField", "UTKFloatField", "UTKVector2Field", "UTKVector3Field", "UTKVector4Field", "UTKRectField", "UTKBoundsField", "UTKNumberStepper" }, + ["Input"] = new[] { "UTKInputField", "UTKIntegerField", "UTKLongField", "UTKFloatField", "UTKDoubleField", "UTKVector2Field", "UTKVector3Field", "UTKVector4Field", "UTKRectField", "UTKBoundsField", "UTKNumberStepper" }, ["Slider"] = new[] { "UTKSlider", "UTKMinMaxSlider", "UTKProgressBar" }, - ["Dropdown"] = new[] { "UTKDropdown", "UTKEnumField" }, + ["Dropdown"] = new[] { "UTKDropdown", "UTKEnumDropDown" }, ["Label"] = new[] { "UTKLabel", "UTKHelpBox" }, ["List"] = new[] { "UTKListView", "UTKTreeView", "UTKMultiColumnListView", "UTKMultiColumnTreeView", "UTKFoldout", "UTKScrollView" }, ["Card"] = new[] { "UTKCard", "UTKPanel" }, @@ -256,6 +256,12 @@ public class UTKStyleGuideSample : MonoBehaviour case "UTKFloatField": CreateFloatFieldPreview(container); break; + case "UTKLongField": + CreateLongFieldPreview(container); + break; + case "UTKDoubleField": + CreateDoubleFieldPreview(container); + break; case "UTKVector2Field": CreateVector2FieldPreview(container); break; @@ -286,8 +292,8 @@ public class UTKStyleGuideSample : MonoBehaviour case "UTKDropdown": CreateDropdownPreview(container); break; - case "UTKEnumField": - CreateEnumFieldPreview(container); + case "UTKEnumDropDown": + CreateEnumDropDownPreview(container); break; case "UTKLabel": CreateLabelPreview(container); @@ -499,6 +505,40 @@ public class UTKStyleGuideSample : MonoBehaviour row2.Add(field2); } + private void CreateLongFieldPreview(VisualElement container) + { + AddDescription(container, "Long 정수 입력 필드"); + + var row1 = CreateRow(container, "Normal"); + var field1 = new UTKLongField("Value"); + field1.Value = 1234567890L; + field1.style.width = 200; + row1.Add(field1); + + var row2 = CreateRow(container, "Disabled"); + var field2 = new UTKLongField("Disabled") { IsEnabled = false }; + field2.Value = 9876543210L; + field2.style.width = 200; + row2.Add(field2); + } + + private void CreateDoubleFieldPreview(VisualElement container) + { + AddDescription(container, "Double 실수 입력 필드"); + + var row1 = CreateRow(container, "Normal"); + var field1 = new UTKDoubleField("Value"); + field1.Value = 3.141592653589793; + field1.style.width = 200; + row1.Add(field1); + + var row2 = CreateRow(container, "Disabled"); + var field2 = new UTKDoubleField("Disabled") { IsEnabled = false }; + field2.Value = 2.718281828459045; + field2.style.width = 200; + row2.Add(field2); + } + private void CreateVector2FieldPreview(VisualElement container) { AddDescription(container, "2D 벡터 입력 필드"); @@ -615,25 +655,25 @@ public class UTKStyleGuideSample : MonoBehaviour var row1 = CreateRow(container, "25%"); var progress1 = new UTKProgressBar(); - progress1.Value = 0.25f; + progress1.Value = 25f; progress1.style.width = 250; row1.Add(progress1); var row2 = CreateRow(container, "50%"); var progress2 = new UTKProgressBar(); - progress2.Value = 0.5f; + progress2.Value = 50f; progress2.style.width = 250; row2.Add(progress2); var row3 = CreateRow(container, "75%"); var progress3 = new UTKProgressBar(); - progress3.Value = 0.75f; + progress3.Value = 75f; progress3.style.width = 250; row3.Add(progress3); var row4 = CreateRow(container, "100%"); var progress4 = new UTKProgressBar(); - progress4.Value = 1.0f; + progress4.Value = 100f; progress4.style.width = 250; row4.Add(progress4); } @@ -662,12 +702,12 @@ public class UTKStyleGuideSample : MonoBehaviour private enum SampleEnum { Option1, Option2, Option3 } - private void CreateEnumFieldPreview(VisualElement container) + private void CreateEnumDropDownPreview(VisualElement container) { - AddDescription(container, "Enum 선택 필드"); + AddDescription(container, "Enum 선택 드롭다운"); var row = CreateRow(container, "Enum"); - var field = new UTKEnumField("Choice", SampleEnum.Option1); + var field = new UTKEnumDropDown("Choice", SampleEnum.Option1); row.Add(field); } @@ -729,10 +769,28 @@ public class UTKStyleGuideSample : MonoBehaviour treeView.style.height = 200; treeView.style.width = 300; - // TreeView는 복잡한 설정이 필요하므로 간단한 설명만 표시 - var placeholder = new Label("TreeView requires IList setup."); - placeholder.style.color = new Color(0.6f, 0.6f, 0.6f); - container.Add(placeholder); + // TreeView 데이터 생성 + var treeItems = new List> + { + new TreeViewItemData(1, "Parent 1", new List> + { + new TreeViewItemData(2, "Child 1-1"), + new TreeViewItemData(3, "Child 1-2"), + }), + new TreeViewItemData(4, "Parent 2", new List> + { + new TreeViewItemData(5, "Child 2-1"), + new TreeViewItemData(6, "Child 2-2", new List> + { + new TreeViewItemData(7, "Grandchild 2-2-1"), + new TreeViewItemData(8, "Grandchild 2-2-2"), + }), + }), + new TreeViewItemData(9, "Parent 3"), + }; + + treeView.SetRootItems(treeItems); + treeView.Rebuild(); container.Add(treeView); } diff --git a/Assets/Sample/UIToolkit/UTKStyleGuideSample.unity b/Assets/Sample/UIToolkit/UTKStyleGuideSample.unity index 936de8d6..8a9a57cc 100644 --- a/Assets/Sample/UIToolkit/UTKStyleGuideSample.unity +++ b/Assets/Sample/UIToolkit/UTKStyleGuideSample.unity @@ -406,6 +406,7 @@ GameObject: - component: {fileID: 2136622002} - component: {fileID: 2136622001} - component: {fileID: 2136622000} + - component: {fileID: 2136622003} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -487,6 +488,50 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2136622003 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2136621999} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalCameraData + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 0 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_AllowHDROutput: 1 + m_UseScreenCoordOverride: 0 + m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} + m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_TaaSettings: + m_Quality: 3 + m_FrameInfluence: 0.1 + m_JitterScale: 1 + m_MipBias: 0 + m_VarianceClampScale: 0.9 + m_ContrastAdaptiveSharpening: 0 + m_Version: 2 --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/UVC/UIToolkit/Dropdown/UTKEnumField.cs b/Assets/Scripts/UVC/UIToolkit/Dropdown/UTKEnumDropDown.cs similarity index 88% rename from Assets/Scripts/UVC/UIToolkit/Dropdown/UTKEnumField.cs rename to Assets/Scripts/UVC/UIToolkit/Dropdown/UTKEnumDropDown.cs index fa6271eb..974c17bf 100644 --- a/Assets/Scripts/UVC/UIToolkit/Dropdown/UTKEnumField.cs +++ b/Assets/Scripts/UVC/UIToolkit/Dropdown/UTKEnumDropDown.cs @@ -6,14 +6,14 @@ using UnityEngine.UIElements; namespace UVC.UIToolkit { /// - /// Enum 선택 필드 컴포넌트. + /// Enum 선택 드롭다운 컴포넌트. /// Unity EnumField를 래핑하여 커스텀 스타일을 적용합니다. /// [UxmlElement] - public partial class UTKEnumField : EnumField, IDisposable + public partial class UTKEnumDropDown : EnumField, IDisposable { #region Constants - private const string USS_PATH = "UIToolkit/Dropdown/UTKEnumField"; + private const string USS_PATH = "UIToolkit/Dropdown/UTKEnumDropDown"; #endregion #region Fields @@ -43,13 +43,13 @@ namespace UVC.UIToolkit { _isEnabled = value; SetEnabled(value); - EnableInClassList("utk-enum-field--disabled", !value); + EnableInClassList("utk-enum-dropdown--disabled", !value); } } #endregion #region Constructor - public UTKEnumField() : base() + public UTKEnumDropDown() : base() { UTKThemeManager.Instance.ApplyThemeToElement(this); @@ -64,7 +64,7 @@ namespace UVC.UIToolkit SubscribeToThemeChanges(); } - public UTKEnumField(string label, Enum defaultValue) : this() + public UTKEnumDropDown(string label, Enum defaultValue) : this() { this.label = label; Init(defaultValue); @@ -74,7 +74,7 @@ namespace UVC.UIToolkit #region Setup private void SetupStyles() { - AddToClassList("utk-enum-field"); + AddToClassList("utk-enum-dropdown"); } private void SetupEvents() diff --git a/Assets/Scripts/UVC/UIToolkit/Dropdown/UTKEnumDropDown.cs.meta b/Assets/Scripts/UVC/UIToolkit/Dropdown/UTKEnumDropDown.cs.meta new file mode 100644 index 00000000..b05ce336 --- /dev/null +++ b/Assets/Scripts/UVC/UIToolkit/Dropdown/UTKEnumDropDown.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 5dc1c2077714f544ab93c49415e470fd \ No newline at end of file diff --git a/Assets/Scripts/UVC/UIToolkit/Dropdown/UTKEnumField.cs.meta b/Assets/Scripts/UVC/UIToolkit/Dropdown/UTKEnumField.cs.meta deleted file mode 100644 index d24eae81..00000000 --- a/Assets/Scripts/UVC/UIToolkit/Dropdown/UTKEnumField.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 7c4018fb202891b488e104f12b4ff21b \ No newline at end of file diff --git a/Assets/Scripts/UVC/UIToolkit/Input/UTKBoundsField.cs b/Assets/Scripts/UVC/UIToolkit/Input/UTKBoundsField.cs index a23dd372..946083e3 100644 --- a/Assets/Scripts/UVC/UIToolkit/Input/UTKBoundsField.cs +++ b/Assets/Scripts/UVC/UIToolkit/Input/UTKBoundsField.cs @@ -19,6 +19,11 @@ namespace UVC.UIToolkit #region Fields private bool _disposed; private bool _isEnabled = true; + private string _centerLabel = "Center"; + private string _extentsLabel = "Extents"; + private string _xLabel = "X"; + private string _yLabel = "Y"; + private string _zLabel = "Z"; #endregion #region Events @@ -46,6 +51,66 @@ namespace UVC.UIToolkit get => value; set => this.value = value; } + + /// Center 라벨 + [UxmlAttribute] + public string CenterLabel + { + get => _centerLabel; + set + { + _centerLabel = value; + UpdateAxisLabels(); + } + } + + /// Extents 라벨 + [UxmlAttribute] + public string ExtentsLabel + { + get => _extentsLabel; + set + { + _extentsLabel = value; + UpdateAxisLabels(); + } + } + + /// X축 라벨 + [UxmlAttribute] + public string XLabel + { + get => _xLabel; + set + { + _xLabel = value; + UpdateAxisLabels(); + } + } + + /// Y축 라벨 + [UxmlAttribute] + public string YLabel + { + get => _yLabel; + set + { + _yLabel = value; + UpdateAxisLabels(); + } + } + + /// Z축 라벨 + [UxmlAttribute] + public string ZLabel + { + get => _zLabel; + set + { + _zLabel = value; + UpdateAxisLabels(); + } + } #endregion #region Constructor @@ -74,6 +139,9 @@ namespace UVC.UIToolkit private void SetupStyles() { AddToClassList("utk-boundsfield"); + + // 초기 라벨 설정 + schedule.Execute(() => UpdateAxisLabels()); } private void SetupEvents() @@ -94,6 +162,29 @@ namespace UVC.UIToolkit { UTKThemeManager.Instance.ApplyThemeToElement(this); } + + private void UpdateAxisLabels() + { + // BoundsField의 내부 Vector3Field들을 찾아서 라벨 변경 (Center, Extents 순서) + var vector3Fields = this.Query().ToList(); + if (vector3Fields.Count >= 2) + { + vector3Fields[0].label = _centerLabel; + vector3Fields[1].label = _extentsLabel; + + // 각 Vector3Field의 내부 FloatField들을 찾아서 X, Y, Z 라벨 변경 + foreach (var vector3Field in vector3Fields) + { + var floatFields = vector3Field.Query().ToList(); + if (floatFields.Count >= 3) + { + floatFields[0].label = _xLabel; + floatFields[1].label = _yLabel; + floatFields[2].label = _zLabel; + } + } + } + } #endregion #region Event Handlers diff --git a/Assets/Scripts/UVC/UIToolkit/Input/UTKDoubleField.cs b/Assets/Scripts/UVC/UIToolkit/Input/UTKDoubleField.cs new file mode 100644 index 00000000..d6b77bb5 --- /dev/null +++ b/Assets/Scripts/UVC/UIToolkit/Input/UTKDoubleField.cs @@ -0,0 +1,118 @@ +#nullable enable +using System; +using UnityEngine; +using UnityEngine.UIElements; + +namespace UVC.UIToolkit +{ + /// + /// Double 실수 입력 필드 컴포넌트. + /// Unity DoubleField를 래핑하여 커스텀 스타일을 적용합니다. + /// + [UxmlElement] + public partial class UTKDoubleField : DoubleField, IDisposable + { + #region Constants + private const string USS_PATH = "UIToolkit/Input/UTKDoubleField"; + #endregion + + #region Fields + private bool _disposed; + private bool _isEnabled = true; + #endregion + + #region Events + /// 값 변경 이벤트 + public event Action? OnValueChanged; + #endregion + + #region Properties + /// 현재 값 + public double Value + { + get => value; + set => this.value = value; + } + + /// 활성화 상태 + [UxmlAttribute] + public bool IsEnabled + { + get => _isEnabled; + set + { + _isEnabled = value; + SetEnabled(value); + EnableInClassList("utk-double-field--disabled", !value); + } + } + #endregion + + #region Constructor + public UTKDoubleField() : base() + { + UTKThemeManager.Instance.ApplyThemeToElement(this); + + var uss = Resources.Load(USS_PATH); + if (uss != null) + { + styleSheets.Add(uss); + } + + SetupStyles(); + SetupEvents(); + SubscribeToThemeChanges(); + } + + public UTKDoubleField(string label, double defaultValue = 0) : this() + { + this.label = label; + value = defaultValue; + } + #endregion + + #region Setup + private void SetupStyles() + { + AddToClassList("utk-double-field"); + } + + private void SetupEvents() + { + this.RegisterValueChangedCallback(OnFieldValueChanged); + } + + private void SubscribeToThemeChanges() + { + UTKThemeManager.Instance.OnThemeChanged += OnThemeChanged; + RegisterCallback(_ => + { + UTKThemeManager.Instance.OnThemeChanged -= OnThemeChanged; + }); + } + + private void OnThemeChanged(UTKTheme theme) + { + UTKThemeManager.Instance.ApplyThemeToElement(this); + } + #endregion + + #region Event Handlers + private void OnFieldValueChanged(ChangeEvent evt) + { + OnValueChanged?.Invoke(evt.newValue); + } + #endregion + + #region IDisposable + public void Dispose() + { + if (_disposed) return; + _disposed = true; + + UTKThemeManager.Instance.OnThemeChanged -= OnThemeChanged; + OnValueChanged = null; + } + #endregion + } +} diff --git a/Assets/Scripts/UVC/UIToolkit/Input/UTKDoubleField.cs.meta b/Assets/Scripts/UVC/UIToolkit/Input/UTKDoubleField.cs.meta new file mode 100644 index 00000000..f3db34e0 --- /dev/null +++ b/Assets/Scripts/UVC/UIToolkit/Input/UTKDoubleField.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: cab3dfd389111ae448ef837fee85dc21 \ No newline at end of file diff --git a/Assets/Scripts/UVC/UIToolkit/Input/UTKLongField.cs b/Assets/Scripts/UVC/UIToolkit/Input/UTKLongField.cs new file mode 100644 index 00000000..42909782 --- /dev/null +++ b/Assets/Scripts/UVC/UIToolkit/Input/UTKLongField.cs @@ -0,0 +1,118 @@ +#nullable enable +using System; +using UnityEngine; +using UnityEngine.UIElements; + +namespace UVC.UIToolkit +{ + /// + /// Long 정수 입력 필드 컴포넌트. + /// Unity LongField를 래핑하여 커스텀 스타일을 적용합니다. + /// + [UxmlElement] + public partial class UTKLongField : LongField, IDisposable + { + #region Constants + private const string USS_PATH = "UIToolkit/Input/UTKLongField"; + #endregion + + #region Fields + private bool _disposed; + private bool _isEnabled = true; + #endregion + + #region Events + /// 값 변경 이벤트 + public event Action? OnValueChanged; + #endregion + + #region Properties + /// 현재 값 + public long Value + { + get => value; + set => this.value = value; + } + + /// 활성화 상태 + [UxmlAttribute] + public bool IsEnabled + { + get => _isEnabled; + set + { + _isEnabled = value; + SetEnabled(value); + EnableInClassList("utk-long-field--disabled", !value); + } + } + #endregion + + #region Constructor + public UTKLongField() : base() + { + UTKThemeManager.Instance.ApplyThemeToElement(this); + + var uss = Resources.Load(USS_PATH); + if (uss != null) + { + styleSheets.Add(uss); + } + + SetupStyles(); + SetupEvents(); + SubscribeToThemeChanges(); + } + + public UTKLongField(string label, long defaultValue = 0) : this() + { + this.label = label; + value = defaultValue; + } + #endregion + + #region Setup + private void SetupStyles() + { + AddToClassList("utk-long-field"); + } + + private void SetupEvents() + { + this.RegisterValueChangedCallback(OnFieldValueChanged); + } + + private void SubscribeToThemeChanges() + { + UTKThemeManager.Instance.OnThemeChanged += OnThemeChanged; + RegisterCallback(_ => + { + UTKThemeManager.Instance.OnThemeChanged -= OnThemeChanged; + }); + } + + private void OnThemeChanged(UTKTheme theme) + { + UTKThemeManager.Instance.ApplyThemeToElement(this); + } + #endregion + + #region Event Handlers + private void OnFieldValueChanged(ChangeEvent evt) + { + OnValueChanged?.Invoke(evt.newValue); + } + #endregion + + #region IDisposable + public void Dispose() + { + if (_disposed) return; + _disposed = true; + + UTKThemeManager.Instance.OnThemeChanged -= OnThemeChanged; + OnValueChanged = null; + } + #endregion + } +} diff --git a/Assets/Scripts/UVC/UIToolkit/Input/UTKLongField.cs.meta b/Assets/Scripts/UVC/UIToolkit/Input/UTKLongField.cs.meta new file mode 100644 index 00000000..1bf960be --- /dev/null +++ b/Assets/Scripts/UVC/UIToolkit/Input/UTKLongField.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1238a7e68c57e714d8df258a292f357c \ No newline at end of file diff --git a/Assets/Scripts/UVC/UIToolkit/Input/UTKRectField.cs b/Assets/Scripts/UVC/UIToolkit/Input/UTKRectField.cs index 457498b0..c37fbdae 100644 --- a/Assets/Scripts/UVC/UIToolkit/Input/UTKRectField.cs +++ b/Assets/Scripts/UVC/UIToolkit/Input/UTKRectField.cs @@ -19,6 +19,10 @@ namespace UVC.UIToolkit #region Fields private bool _disposed; private bool _isEnabled = true; + private string _xLabel = "X"; + private string _yLabel = "Y"; + private string _wLabel = "W"; + private string _hLabel = "H"; #endregion #region Events @@ -46,6 +50,54 @@ namespace UVC.UIToolkit get => value; set => this.value = value; } + + /// X 라벨 + [UxmlAttribute] + public string XLabel + { + get => _xLabel; + set + { + _xLabel = value; + UpdateAxisLabels(); + } + } + + /// Y 라벨 + [UxmlAttribute] + public string YLabel + { + get => _yLabel; + set + { + _yLabel = value; + UpdateAxisLabels(); + } + } + + /// W 라벨 + [UxmlAttribute] + public string WLabel + { + get => _wLabel; + set + { + _wLabel = value; + UpdateAxisLabels(); + } + } + + /// H 라벨 + [UxmlAttribute] + public string HLabel + { + get => _hLabel; + set + { + _hLabel = value; + UpdateAxisLabels(); + } + } #endregion #region Constructor @@ -74,6 +126,9 @@ namespace UVC.UIToolkit private void SetupStyles() { AddToClassList("utk-rectfield"); + + // 초기 라벨 설정 + schedule.Execute(() => UpdateAxisLabels()); } private void SetupEvents() @@ -94,6 +149,19 @@ namespace UVC.UIToolkit { UTKThemeManager.Instance.ApplyThemeToElement(this); } + + private void UpdateAxisLabels() + { + // RectField의 내부 FloatField들을 찾아서 라벨 변경 (X, Y, W, H 순서) + var floatFields = this.Query().ToList(); + if (floatFields.Count >= 4) + { + floatFields[0].label = _xLabel; + floatFields[1].label = _yLabel; + floatFields[2].label = _wLabel; + floatFields[3].label = _hLabel; + } + } #endregion #region Event Handlers diff --git a/Assets/Scripts/UVC/UIToolkit/Input/UTKVector2Field.cs b/Assets/Scripts/UVC/UIToolkit/Input/UTKVector2Field.cs index e1af148c..c64cdf2f 100644 --- a/Assets/Scripts/UVC/UIToolkit/Input/UTKVector2Field.cs +++ b/Assets/Scripts/UVC/UIToolkit/Input/UTKVector2Field.cs @@ -19,6 +19,8 @@ namespace UVC.UIToolkit #region Fields private bool _disposed; private bool _isEnabled = true; + private string _xLabel = "X"; + private string _yLabel = "Y"; #endregion #region Events @@ -46,6 +48,30 @@ namespace UVC.UIToolkit EnableInClassList("utk-vector2-field--disabled", !value); } } + + /// X축 라벨 + [UxmlAttribute] + public string XLabel + { + get => _xLabel; + set + { + _xLabel = value; + UpdateAxisLabels(); + } + } + + /// Y축 라벨 + [UxmlAttribute] + public string YLabel + { + get => _yLabel; + set + { + _yLabel = value; + UpdateAxisLabels(); + } + } #endregion #region Constructor @@ -74,6 +100,9 @@ namespace UVC.UIToolkit private void SetupStyles() { AddToClassList("utk-vector2-field"); + + // 초기 라벨 설정 + schedule.Execute(() => UpdateAxisLabels()); } private void SetupEvents() @@ -94,6 +123,17 @@ namespace UVC.UIToolkit { UTKThemeManager.Instance.ApplyThemeToElement(this); } + + private void UpdateAxisLabels() + { + // Vector2Field의 내부 FloatField들을 찾아서 라벨 변경 + var floatFields = this.Query().ToList(); + if (floatFields.Count >= 2) + { + floatFields[0].label = _xLabel; + floatFields[1].label = _yLabel; + } + } #endregion #region Event Handlers diff --git a/Assets/Scripts/UVC/UIToolkit/Input/UTKVector3Field.cs b/Assets/Scripts/UVC/UIToolkit/Input/UTKVector3Field.cs index a6a59a2d..303292d3 100644 --- a/Assets/Scripts/UVC/UIToolkit/Input/UTKVector3Field.cs +++ b/Assets/Scripts/UVC/UIToolkit/Input/UTKVector3Field.cs @@ -19,6 +19,9 @@ namespace UVC.UIToolkit #region Fields private bool _disposed; private bool _isEnabled = true; + private string _xLabel = "X"; + private string _yLabel = "Y"; + private string _zLabel = "Z"; #endregion #region Events @@ -46,6 +49,42 @@ namespace UVC.UIToolkit EnableInClassList("utk-vector3-field--disabled", !value); } } + + /// X축 라벨 + [UxmlAttribute] + public string XLabel + { + get => _xLabel; + set + { + _xLabel = value; + UpdateAxisLabels(); + } + } + + /// Y축 라벨 + [UxmlAttribute] + public string YLabel + { + get => _yLabel; + set + { + _yLabel = value; + UpdateAxisLabels(); + } + } + + /// Z축 라벨 + [UxmlAttribute] + public string ZLabel + { + get => _zLabel; + set + { + _zLabel = value; + UpdateAxisLabels(); + } + } #endregion #region Constructor @@ -74,6 +113,9 @@ namespace UVC.UIToolkit private void SetupStyles() { AddToClassList("utk-vector3-field"); + + // 초기 라벨 설정 + schedule.Execute(() => UpdateAxisLabels()); } private void SetupEvents() @@ -94,6 +136,18 @@ namespace UVC.UIToolkit { UTKThemeManager.Instance.ApplyThemeToElement(this); } + + private void UpdateAxisLabels() + { + // Vector3Field의 내부 FloatField들을 찾아서 라벨 변경 + var floatFields = this.Query().ToList(); + if (floatFields.Count >= 3) + { + floatFields[0].label = _xLabel; + floatFields[1].label = _yLabel; + floatFields[2].label = _zLabel; + } + } #endregion #region Event Handlers diff --git a/Assets/Scripts/UVC/UIToolkit/Input/UTKVector4Field.cs b/Assets/Scripts/UVC/UIToolkit/Input/UTKVector4Field.cs index 36d46cc3..a5ae3387 100644 --- a/Assets/Scripts/UVC/UIToolkit/Input/UTKVector4Field.cs +++ b/Assets/Scripts/UVC/UIToolkit/Input/UTKVector4Field.cs @@ -19,6 +19,10 @@ namespace UVC.UIToolkit #region Fields private bool _disposed; private bool _isEnabled = true; + private string _xLabel = "X"; + private string _yLabel = "Y"; + private string _zLabel = "Z"; + private string _wLabel = "W"; #endregion #region Events @@ -46,6 +50,54 @@ namespace UVC.UIToolkit get => value; set => this.value = value; } + + /// X축 라벨 + [UxmlAttribute] + public string XLabel + { + get => _xLabel; + set + { + _xLabel = value; + UpdateAxisLabels(); + } + } + + /// Y축 라벨 + [UxmlAttribute] + public string YLabel + { + get => _yLabel; + set + { + _yLabel = value; + UpdateAxisLabels(); + } + } + + /// Z축 라벨 + [UxmlAttribute] + public string ZLabel + { + get => _zLabel; + set + { + _zLabel = value; + UpdateAxisLabels(); + } + } + + /// W축 라벨 + [UxmlAttribute] + public string WLabel + { + get => _wLabel; + set + { + _wLabel = value; + UpdateAxisLabels(); + } + } #endregion #region Constructor @@ -74,6 +126,9 @@ namespace UVC.UIToolkit private void SetupStyles() { AddToClassList("utk-vector4field"); + + // 초기 라벨 설정 + schedule.Execute(() => UpdateAxisLabels()); } private void SetupEvents() @@ -94,6 +149,19 @@ namespace UVC.UIToolkit { UTKThemeManager.Instance.ApplyThemeToElement(this); } + + private void UpdateAxisLabels() + { + // Vector4Field의 내부 FloatField들을 찾아서 라벨 변경 + var floatFields = this.Query().ToList(); + if (floatFields.Count >= 4) + { + floatFields[0].label = _xLabel; + floatFields[1].label = _yLabel; + floatFields[2].label = _zLabel; + floatFields[3].label = _wLabel; + } + } #endregion #region Event Handlers diff --git a/Assets/Scripts/UVC/UIToolkit/List/UTKListView.cs b/Assets/Scripts/UVC/UIToolkit/List/UTKListView.cs index 9c318a09..50ef23fa 100644 --- a/Assets/Scripts/UVC/UIToolkit/List/UTKListView.cs +++ b/Assets/Scripts/UVC/UIToolkit/List/UTKListView.cs @@ -38,6 +38,10 @@ namespace UVC.UIToolkit { styleSheets.Add(uss); } + else + { + Debug.LogWarning($"[UTKListView] Failed to load USS: {USS_PATH}"); + } SetupStyles(); SetupEvents(); diff --git a/Assets/Scripts/UVC/UIToolkit/UTKThemeManager.cs b/Assets/Scripts/UVC/UIToolkit/UTKThemeManager.cs index 0eb8841a..901fc17a 100644 --- a/Assets/Scripts/UVC/UIToolkit/UTKThemeManager.cs +++ b/Assets/Scripts/UVC/UIToolkit/UTKThemeManager.cs @@ -23,11 +23,11 @@ namespace UVC.UIToolkit #endregion #region Constants - private const string VARIABLES_PATH = "UIToolkit/Settings/UTKVariables"; - private const string THEME_DARK_PATH = "UIToolkit/Settings/UTKThemeDark"; - private const string THEME_LIGHT_PATH = "UIToolkit/Settings/UTKThemeLight"; - private const string COMPONENTS_PATH = "UIToolkit/Settings/UTKComponents"; - private const string DEFAULT_STYLE_PATH = "UIToolkit/Settings/UTKDefaultStyle"; + private const string VARIABLES_PATH = "UIToolkit/Style/UTKVariables"; + private const string THEME_DARK_PATH = "UIToolkit/Style/UTKThemeDark"; + private const string THEME_LIGHT_PATH = "UIToolkit/Style/UTKThemeLight"; + private const string COMPONENTS_PATH = "UIToolkit/Style/UTKComponents"; + private const string DEFAULT_STYLE_PATH = "UIToolkit/Style/UTKDefaultStyle"; #endregion #region Fields diff --git a/CLAUDE.md b/CLAUDE.md index 9baa0699..b3103a49 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -189,7 +189,15 @@ public struct AssetRef where T : UnityEngine.Object ## 7) USS 스타일 가이드 ### 디자인 참조 -UI Toolkit 개발 시 `StyleGuide/` 폴더의 이미지를 참조하세요: +UI Toolkit 개발 시 다음 위치의 스타일 리소스를 참조하세요: + +**우선 참조**: `Assets/Resources/UIToolkit/Style/` +- 프로젝트에서 사용 중인 실제 USS 스타일 파일들이 위치합니다. +- 컴포넌트별로 정리된 스타일을 먼저 확인하세요. + +**보조 참조**: `StyleGuide/` 폴더 +- `Assets/Resources/UIToolkit/Style/`에 구현되지 않은 스타일만 참조합니다. +- 새 컴포넌트 개발 시 디자인 가이드로 활용합니다. | 파일 | 설명 | |------|------|