UTKPropertyItem 개선

This commit is contained in:
logonkhi
2026-02-04 20:31:52 +09:00
parent 8181eae4c6
commit c9af0d2d6f
202 changed files with 8337 additions and 3878 deletions

View File

@@ -23,7 +23,11 @@
"Bash(git checkout:*)", "Bash(git checkout:*)",
"Bash(git -C \"d:/works/2025/02.Studio/dev/base/XRBase\" checkout HEAD -- \"Assets/Resources/UIToolkit/List/UTKMultiColumnTreeView.uss\" \"Assets/Resources/UIToolkit/List/UTKMultiColumnListView.uss\" \"Assets/Resources/UIToolkit/Style/UTKDefaultStyle.uss\" \"Assets/Resources/UIToolkit/Tab/UTKTabView.uss\" \"Assets/Resources/UIToolkit/List/UTKListView.uss\" \"Assets/Resources/UIToolkit/Style/UTKComponents.uss\")", "Bash(git -C \"d:/works/2025/02.Studio/dev/base/XRBase\" checkout HEAD -- \"Assets/Resources/UIToolkit/List/UTKMultiColumnTreeView.uss\" \"Assets/Resources/UIToolkit/List/UTKMultiColumnListView.uss\" \"Assets/Resources/UIToolkit/Style/UTKDefaultStyle.uss\" \"Assets/Resources/UIToolkit/Tab/UTKTabView.uss\" \"Assets/Resources/UIToolkit/List/UTKListView.uss\" \"Assets/Resources/UIToolkit/Style/UTKComponents.uss\")",
"Bash(cmd /c \"cd /d d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase && git log --oneline -10 -- Assets/Resources/UIToolkit/Style/UTKDefaultStyle.uss\")", "Bash(cmd /c \"cd /d d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase && git log --oneline -10 -- Assets/Resources/UIToolkit/Style/UTKDefaultStyle.uss\")",
"Bash(New-Item -ItemType Directory -Path \"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Resources\\\\UIToolkit\\\\Sample\\\\Window\" -Force)" "Bash(New-Item -ItemType Directory -Path \"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Resources\\\\UIToolkit\\\\Sample\\\\Window\" -Force)",
"Bash(cmd /c \"echo ^<?xml version=\"\"1.0\"\" encoding=\"\"utf-8\"\"?^>^<ui:UXML xmlns:ui=\"\"UnityEngine.UIElements\"\" xmlns:utk=\"\"UVC.UIToolkit\"\"^>^<utk:UTKLabel name=\"\"label\"\" text=\"\"Label\"\" class=\"\"utk-property-item-view__label\"\" /^>^<ui:VisualElement name=\"\"value-container\"\" class=\"\"utk-property-item-view__value\"\"^>^</ui:VisualElement^>^</ui:UXML^>\")",
"Bash(del \"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Resources\\\\UIToolkit\\\\Property\\\\Views\\\\UTKBoolPropertyItemView.uxml\")",
"Bash(del:*)",
"Bash(cmd /c \"del /q \"\"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Resources\\\\UIToolkit\\\\Property\\\\Views\\\\UTKIntPropertyItemViewSliderUss.uss\"\" \"\"d:\\\\works\\\\2025\\\\02.Studio\\\\dev\\\\base\\\\XRBase\\\\Assets\\\\Resources\\\\UIToolkit\\\\Property\\\\Views\\\\UTKFloatPropertyItemViewSliderUss.uss\"\"\")"
], ],
"deny": [], "deny": [],
"ask": [] "ask": []

View File

@@ -22,10 +22,10 @@
<ui:VisualElement name="container" class="accordion-list-container"> <ui:VisualElement name="container" class="accordion-list-container">
<!-- 검색 필드 --> <!-- 검색 필드 -->
<ui:VisualElement name="search-container" class="accordion-search-container"> <ui:VisualElement name="search-container" class="accordion-search-container">
<ui:TextField name="search-field" <utk:UTKInputField name="search-field"
placeholder-text="검색" placeholder-text="Search..."
class="accordion-search-field" /> class="accordion-search-field" />
<utk:UTKButton name="clear-btn" variant="Text" icon-only="true" class="accordion-clear-button" /> <utk:UTKButton name="clear-btn" class="accordion-clear-button" variant="Text" icon="Close" icon-size="12" icon-only="true" />
</ui:VisualElement> </ui:VisualElement>
<!-- 검색 결과 라벨 (기본 숨김) --> <!-- 검색 결과 라벨 (기본 숨김) -->

View File

@@ -29,6 +29,20 @@
margin: 0; margin: 0;
} }
.accordion-search-field .unity-text-field__input {
background-color: var(--color-bg-input);
border-width: var(--border-width);
border-color: var(--color-border);
border-radius: var(--radius-s);
padding: var(--space-s) var(--space-m);
min-height: 24px;
font-size: var(--font-size-body2);
}
.accordion-search-field:focus .unity-text-field__input {
border-color: var(--color-border-focus);
}
/* ============================================ /* ============================================
Clear 버튼 (Clear Button) - UTKButton 스타일 오버라이드 Clear 버튼 (Clear Button) - UTKButton 스타일 오버라이드
============================================ */ ============================================ */

View File

@@ -2,8 +2,8 @@
<Style src="project://database/Assets/Resources/UIToolkit/List/UTKComponentListUss.uss?fileID=7433441132597879392&amp;guid=71cac0276293ce2479851f572ffbda27&amp;type=3#UTKComponentListUss" /> <Style src="project://database/Assets/Resources/UIToolkit/List/UTKComponentListUss.uss?fileID=7433441132597879392&amp;guid=71cac0276293ce2479851f572ffbda27&amp;type=3#UTKComponentListUss" />
<ui:VisualElement name="container" class="tree-menu-container"> <ui:VisualElement name="container" class="tree-menu-container">
<ui:VisualElement name="search-container" class="search-container"> <ui:VisualElement name="search-container" class="search-container">
<ui:TextField name="search-field" placeholder-text="검색" class="search-field" /> <utk:UTKInputField name="search-field" placeholder-text="Search..." class="search-field" />
<utk:UTKButton name="clear-btn" variant="Text" icon-only="true" class="search-clear-button" /> <utk:UTKButton name="clear-btn" class="search-clear-button" variant="Text" icon="Close" icon-size="12" icon-only="true" />
</ui:VisualElement> </ui:VisualElement>
<ui:TreeView name="main-tree-view" view-data-key="model-tree-view" fixed-item-height="22" auto-expand="false" horizontal-scrolling="true" selection-type="None" style="flex-grow: 1;" /> <ui:TreeView name="main-tree-view" view-data-key="model-tree-view" fixed-item-height="22" auto-expand="false" horizontal-scrolling="true" selection-type="None" style="flex-grow: 1;" />
</ui:VisualElement> </ui:VisualElement>

View File

@@ -24,8 +24,22 @@
.search-field { .search-field {
flex-grow: 1; flex-grow: 1;
margin: 0;
height: 24px; height: 24px;
margin: 0;
}
.search-field .unity-text-field__input {
background-color: var(--color-bg-input);
border-width: var(--border-width);
border-color: var(--color-border);
border-radius: var(--radius-s);
padding: var(--space-s) var(--space-m);
min-height: 24px;
font-size: var(--font-size-body2);
}
.search-field:focus .unity-text-field__input {
border-color: var(--color-border-focus);
} }
/* ============================================ /* ============================================

View File

@@ -18,13 +18,13 @@
--> -->
<Style src="project://database/Assets/Resources/UIToolkit/List/UTKImageListUss.uss" /> <Style src="project://database/Assets/Resources/UIToolkit/List/UTKImageListUss.uss" />
<ui:VisualElement name="container" class="image-list-container"> <ui:VisualElement name="container" class="image-list-container">
<!-- 검색 필드 --> <ui:VisualElement name="search-container" class="search-container">
<ui:TextField name="search-field" <!-- 검색 필드 -->
placeholder-text="검색" <utk:UTKInputField name="search-field"
class="search-field"> placeholder-text="Search..."
<utk:UTKButton name="clear-btn" variant="Text" icon-only="true" class="clear-button" /> class="search-field" />
</ui:TextField> <utk:UTKButton name="clear-btn" class="clear-button" variant="Text" icon="Close" icon-size="12" icon-only="true" />
</ui:VisualElement>
<!-- 검색 결과 라벨 (기본 숨김) --> <!-- 검색 결과 라벨 (기본 숨김) -->
<ui:Label name="search-result-label" <ui:Label name="search-result-label"
class="search-result-label" class="search-result-label"

View File

@@ -5,12 +5,30 @@
width: 100%; width: 100%;
} }
.search-container {
flex-direction: row;
align-items: center;
margin-bottom: 20px;
}
.search-field { .search-field {
flex-grow: 1;
height: 24px; height: 24px;
margin-bottom: 8px; margin: 0;
margin-top: 0; }
margin-right: 0;
margin-left: 0; .search-field .unity-text-field__input {
background-color: var(--color-bg-input);
border-width: var(--border-width);
border-color: var(--color-border);
border-radius: var(--radius-s);
padding: var(--space-s) var(--space-m);
min-height: 24px;
font-size: var(--font-size-body2);
}
.search-field:focus .unity-text-field__input {
border-color: var(--color-border-focus);
} }
/* ============================================ /* ============================================

View File

@@ -0,0 +1,39 @@
<ui:UXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ui="UnityEngine.UIElements"
xmlns:utk="UVC.UIToolkit"
noNamespaceSchemaLocation="../../../../../UIElementsSchema/UIElements.xsd"
editor-extension-mode="False">
<!--
UTKPropertyList.uxml
TreeView 기반 속성 리스트 컴포넌트의 메인 레이아웃입니다.
검색 필드와 TreeView로 구성됩니다.
TreeView를 사용하여 가상화(Virtualization)를 지원합니다.
구조:
- container: 메인 컨테이너
- search-container: 검색 영역
- search-field: UTKInputField 검색어 입력 필드
- property-tree-view: TreeView (가상화 지원)
관련 스타일:
- Resources/UIToolkit/List/UTKPropertyListUss.uss
-->
<Style src="project://database/Assets/Resources/UIToolkit/List/UTKPropertyListUss.uss" />
<ui:VisualElement name="container" class="utk-property-list">
<!-- 검색 필드 -->
<ui:VisualElement name="search-container" class="utk-property-list__search-container">
<utk:UTKInputField name="search-field"
placeholder="Search..."
class="utk-property-list__search-field" />
<utk:UTKButton name="clear-btn" class="utk-property-list__search-field-clear-button" variant="Text" icon="Close" icon-size="12" icon-only="true" />
</ui:VisualElement>
<!-- TreeView 컨테이너 (가상화 지원) -->
<ui:TreeView name="property-tree-view"
class="utk-property-list__tree-view"
selection-type="None"
show-alternating-row-backgrounds="None"
virtualization-method="DynamicHeight" />
</ui:VisualElement>
</ui:UXML>

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 4bc0ccd23105ba24f9f23130d2ee4df5 guid: ce54ec6394398ba489dba4a5f0f00073
ScriptedImporter: ScriptedImporter:
internalIDToNameTable: [] internalIDToNameTable: []
externalObjects: {} externalObjects: {}

View File

@@ -0,0 +1,205 @@
/*
* ===================================
* UTKPropertyListUss.uss
* UTKPropertyList 컴포넌트 전용 스타일
* ===================================
*
* 이 파일은 UTKThemeManager의 테마 변수를 참조합니다.
* - 색상: var(--color-*)
* - 간격: var(--space-*)
* - 반지름: var(--radius-*)
*
* 관련 파일:
* - UTKPropertyList.uxml: 메인 레이아웃
* - UTKPropertyList.cs: 컴포넌트 로직
*
* 참고: PropertyItem View 스타일은 UTKPropertyItemViewCommonUss.uss 참조
*/
/* ===================================
Property List Container
=================================== */
.utk-property-list {
flex-grow: 1;
background-color: var(--color-bg-panel);
}
/* ===================================
Search Container
=================================== */
.utk-property-list__search-container {
flex-direction: row;
padding: var(--space-m) 0;
}
/* UTKInputField 검색 필드 스타일 */
.utk-property-list__search-field {
flex-grow: 1;
height: 24px;
margin: 0;
}
.utk-property-list__search-field .unity-text-field__input {
background-color: var(--color-bg-input);
border-width: var(--border-width);
border-color: var(--color-border);
border-radius: var(--radius-s);
padding: var(--space-s) var(--space-m);
min-height: 24px;
font-size: var(--font-size-body2);
}
.utk-property-list__search-field:focus .unity-text-field__input {
border-color: var(--color-border-focus);
}
/* ============================================
Clear 버튼 (Clear Button) - UTKButton 스타일 오버라이드
============================================ */
.utk-property-list__search-field-clear-button {
width: 16px;
height: 16px;
min-width: 16px;
min-height: 16px;
border-width: 0;
margin: 0;
padding: 0;
position: absolute;
right: var(--space-s);
align-self: center;
}
/* ===================================
TreeView
=================================== */
.utk-property-list__tree-view {
flex-grow: 1;
background-color: transparent;
}
.utk-property-list__tree-view .unity-tree-view__item {
padding: 0;
margin: 0;
background-color: transparent;
}
.utk-property-list__tree-view .unity-tree-view__item:hover {
background-color: transparent;
}
.utk-property-list__tree-view .unity-tree-view__item:checked {
background-color: transparent;
}
.utk-property-list__tree-view .unity-tree-view__item:hover:checked {
background-color: transparent;
}
.utk-property-list__tree-view .unity-collection-view__item {
background-color: transparent;
}
.utk-property-list__tree-view .unity-collection-view__item:hover {
background-color: transparent;
}
.utk-property-list__tree-view .unity-collection-view__item--selected {
background-color: transparent;
}
/* TreeView 기본 토글 버튼 숨기기 (커스텀 그룹 헤더 아이콘 사용) */
.utk-property-list__tree-view .unity-tree-view__item-toggle {
display: none;
}
/* TreeView 들여쓰기 제거 */
.utk-property-list__tree-view .unity-tree-view__item-indent {
width: 0;
min-width: 0;
max-width: 0;
flex-basis: 0;
flex-grow: 0;
flex-shrink: 0;
}
/* ===================================
Property Item Container
=================================== */
.utk-property-item-container {
flex-grow: 1;
}
/* ===================================
Group Header
=================================== */
.utk-property-group {
flex-direction: column;
}
.utk-property-group__header {
flex-direction: row;
align-items: center;
height: 32px;
padding-left: var(--space-m);
padding-right: var(--space-m);
background-color: var(--color-bg-elevated);
border-bottom-width: var(--border-width);
border-bottom-color: var(--color-border);
cursor: resource('UIToolkit/Images/cursor_point_white_32') 14 5;
}
.utk-property-group__header:hover {
background-color: var(--color-collection-item-hover);
}
/* UTKLabel 펼침 아이콘 스타일 */
.utk-property-group__expand-icon {
width: 16px;
height: 16px;
margin-right: var(--space-s);
justify-content: center;
align-items: center;
}
.utk-property-group__expand-icon .utk-label__icon {
font-size: 16px;
color: var(--color-text-secondary);
}
.utk-property-group__header:hover .utk-property-group__expand-icon .utk-label__icon {
color: var(--color-text-primary);
}
/* UTKLabel 그룹 타이틀 스타일 */
.utk-property-group__title {
flex-grow: 1;
}
.utk-property-group__title .utk-label__text {
font-size: var(--font-size-body2);
-unity-font-style: bold;
color: var(--color-text-primary);
}
/* UTKLabel 아이템 개수 스타일 */
.utk-property-group__count {
margin-left: var(--space-m);
}
.utk-property-group__count .utk-label__text {
font-size: var(--font-size-label4);
color: var(--color-text-secondary);
}
.utk-property-group__content {
overflow: hidden;
}
.utk-property-group--collapsed .utk-property-group__content {
display: none;
}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 43ab82593a6aab947a50de637b2aff82 guid: 0feefbfc0516b6b489c50fe891ebd9bd
ScriptedImporter: ScriptedImporter:
internalIDToNameTable: [] internalIDToNameTable: []
externalObjects: {} externalObjects: {}

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<UXML xmlns="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit">
<VisualElement name="item-root" class="utk-property-item utk-property-item--bool">
<utk:UTKLabel name="name-label" class="utk-property-item__label" />
<VisualElement class="utk-property-item__value">
<utk:UTKToggle name="value-field" />
</VisualElement>
</VisualElement>
</UXML>

View File

@@ -1,10 +0,0 @@
<UXML xmlns="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit" editor-extension-mode="False">
<VisualElement name="item-root" class="utk-property-item utk-property-item--color">
<utk:UTKLabel name="name-label" class="utk-property-item__label" />
<VisualElement class="utk-property-item__value" style="flex-grow: 1;">
<VisualElement name="color-preview" class="utk-property-item__color-preview" />
<utk:UTKInputField name="hex-field" style="flex-grow: 1;" />
<utk:UTKButton name="picker-btn" text="..." variant="Secondary" class="utk-property-item__picker-btn" style="min-width: 24px; width: 24px;" />
</VisualElement>
</VisualElement>
</UXML>

View File

@@ -1,10 +0,0 @@
<UXML xmlns="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit" editor-extension-mode="False">
<VisualElement name="item-root" class="utk-property-item utk-property-item--colorstate">
<utk:UTKLabel name="name-label" class="utk-property-item__label" />
<VisualElement class="utk-property-item__value" style="flex-grow: 1;">
<utk:UTKLabel name="state-label" size="Body2" class="utk-property-item__state-label" />
<VisualElement name="color-preview" class="utk-property-item__color-preview" />
<utk:UTKButton name="picker-btn" text="..." variant="Secondary" class="utk-property-item__picker-btn" style="width: 24px; min-width: 24px;" />
</VisualElement>
</VisualElement>
</UXML>

View File

@@ -1,9 +0,0 @@
<UXML xmlns="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit" editor-extension-mode="False">
<VisualElement name="item-root" class="utk-property-item utk-property-item--date">
<utk:UTKLabel name="name-label" class="utk-property-item__label" />
<VisualElement class="utk-property-item__value" style="flex-grow: 1;">
<utk:UTKInputField name="date-field" style="flex-grow: 1;" />
<utk:UTKButton name="picker-btn" text="..." variant="Secondary" class="utk-property-item__picker-btn" style="width: 24px; min-width: 24px;" />
</VisualElement>
</VisualElement>
</UXML>

View File

@@ -1,16 +0,0 @@
<UXML xmlns="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit" editor-extension-mode="False">
<VisualElement name="item-root" class="utk-property-item utk-property-item--daterange">
<utk:UTKLabel name="name-label" class="utk-property-item__label" />
<VisualElement name="VisualElement" class="utk-property-item__value" style="flex-direction: column; flex-grow: 1; align-items: stretch;">
<VisualElement style="flex-grow: 1; flex-direction: row;">
<utk:UTKInputField name="start-field" style="flex-grow: 1;" />
<utk:UTKButton name="start-picker-btn" text="..." variant="Secondary" class="utk-property-item__picker-btn" style="width: 24px; min-width: 24px;" />
</VisualElement>
<utk:UTKLabel text="~" size="Body2" text-alignment="Center" class="utk-property-item__range-separator" />
<VisualElement style="flex-grow: 1; flex-direction: row;">
<utk:UTKInputField name="end-field" style="flex-grow: 1;" />
<utk:UTKButton name="end-picker-btn" text="..." variant="Secondary" class="utk-property-item__picker-btn" style="width: 24px; min-width: 24px;" />
</VisualElement>
</VisualElement>
</VisualElement>
</UXML>

View File

@@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: a091b6d5a85f3c6438c7620031f9ce29
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -1,9 +0,0 @@
<UXML xmlns="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit" editor-extension-mode="False">
<VisualElement name="item-root" class="utk-property-item utk-property-item--datetime">
<utk:UTKLabel name="name-label" class="utk-property-item__label" />
<VisualElement class="utk-property-item__value" style="flex-grow: 1;">
<utk:UTKInputField name="datetime-field" style="flex-grow: 1;" />
<utk:UTKButton name="picker-btn" text="..." variant="Secondary" class="utk-property-item__picker-btn" style="width: 24px; min-width: 24px;" />
</VisualElement>
</VisualElement>
</UXML>

View File

@@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: b44d3939f475cff4f93626c5411f3987
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -1,16 +0,0 @@
<UXML xmlns="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit" editor-extension-mode="False">
<VisualElement name="item-root" class="utk-property-item utk-property-item--datetimerange">
<utk:UTKLabel name="name-label" class="utk-property-item__label" />
<VisualElement class="utk-property-item__value" style="flex-grow: 1; flex-direction: column; align-items: stretch;">
<VisualElement style="flex-grow: 1; flex-direction: row;">
<utk:UTKInputField name="start-field" style="flex-grow: 1;" />
<utk:UTKButton name="start-picker-btn" text="..." variant="Secondary" class="utk-property-item__picker-btn" style="width: 24px; min-width: 24px;" />
</VisualElement>
<utk:UTKLabel text="~" size="Body2" text-alignment="Center" class="utk-property-item__range-separator" style="-unity-text-align: middle-center;" />
<VisualElement style="flex-grow: 1; flex-direction: row;">
<utk:UTKInputField name="end-field" style="flex-grow: 1;" />
<utk:UTKButton name="end-picker-btn" text="..." variant="Secondary" class="utk-property-item__picker-btn" style="width: 24px; min-width: 24px;" />
</VisualElement>
</VisualElement>
</VisualElement>
</UXML>

View File

@@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: 56efa3588ece0074cad9fe2325a45eba
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -1,8 +0,0 @@
<UXML xmlns="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit" editor-extension-mode="False">
<VisualElement name="item-root" class="utk-property-item utk-property-item--dropdownlist">
<utk:UTKLabel name="name-label" class="utk-property-item__label" />
<VisualElement class="utk-property-item__value">
<utk:UTKDropdown name="dropdown-field" style="flex-grow: 1;" />
</VisualElement>
</VisualElement>
</UXML>

View File

@@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: e710406c0264f904799e0756299d40ae
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -1,8 +0,0 @@
<UXML xmlns="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit" editor-extension-mode="False">
<VisualElement name="item-root" class="utk-property-item utk-property-item--enum">
<utk:UTKLabel name="name-label" class="utk-property-item__label" />
<VisualElement class="utk-property-item__value">
<utk:UTKEnumDropDown name="enum-dropdown" style="flex-grow: 1;" />
</VisualElement>
</VisualElement>
</UXML>

View File

@@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: 027e0d57a68a4af4db7510ae8d56df94
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -1,8 +0,0 @@
<UXML xmlns="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit" editor-extension-mode="False">
<VisualElement name="item-root" class="utk-property-item utk-property-item--float">
<utk:UTKLabel name="name-label" class="utk-property-item__label" />
<VisualElement class="utk-property-item__value">
<utk:UTKFloatField name="value-field" style="flex-grow: 1;" />
</VisualElement>
</VisualElement>
</UXML>

View File

@@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: 3ee0c314d2d2093418ea0a699b9d3835
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -1,9 +0,0 @@
<UXML xmlns="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit" editor-extension-mode="False">
<VisualElement name="item-root" class="utk-property-item utk-property-item--float utk-property-item--slider">
<utk:UTKLabel name="name-label" class="utk-property-item__label" />
<VisualElement class="utk-property-item__value" style="flex-grow: 1;">
<utk:UTKSlider name="slider-field" class="utk-property-item__slider" />
<utk:UTKFloatField name="value-field" class="utk-property-item__number-field" />
</VisualElement>
</VisualElement>
</UXML>

View File

@@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: 94e27ad36d95a7844b847381aeeb5a0e
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -1,10 +0,0 @@
<UXML xmlns="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit" editor-extension-mode="False">
<VisualElement name="item-root" class="utk-property-item utk-property-item--floatrange">
<utk:UTKLabel name="name-label" class="utk-property-item__label" />
<VisualElement class="utk-property-item__value" style="flex-grow: 1; flex-direction: row;">
<utk:UTKFloatField name="min-field" style="flex-grow: 1;" />
<utk:UTKLabel text="~" size="Body2" class="utk-property-item__range-separator" />
<utk:UTKFloatField name="max-field" style="flex-grow: 1;" />
</VisualElement>
</VisualElement>
</UXML>

View File

@@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: ba55984b797be144c884c69e7e83a7ca
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -1,8 +0,0 @@
<UXML xmlns="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit" editor-extension-mode="False">
<VisualElement name="item-root" class="utk-property-item utk-property-item--int">
<utk:UTKLabel name="name-label" class="utk-property-item__label" />
<VisualElement class="utk-property-item__value">
<utk:UTKIntegerField name="value-field" style="flex-grow: 1;" />
</VisualElement>
</VisualElement>
</UXML>

View File

@@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: 6a33c9ae335c3734583a12969a246930
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -1,9 +0,0 @@
<UXML xmlns="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit" editor-extension-mode="False">
<VisualElement name="item-root" class="utk-property-item utk-property-item--int utk-property-item--slider">
<utk:UTKLabel name="name-label" class="utk-property-item__label" />
<VisualElement class="utk-property-item__value" style="flex-grow: 1;">
<utk:UTKSliderInt name="slider-field" class="utk-property-item__slider" />
<utk:UTKIntegerField name="value-field" class="utk-property-item__number-field" />
</VisualElement>
</VisualElement>
</UXML>

View File

@@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: 7dcc0056178d1a849a6d47dacca02b8c
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -1,10 +0,0 @@
<UXML xmlns="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit" editor-extension-mode="False">
<VisualElement name="item-root" class="utk-property-item utk-property-item--intrange">
<utk:UTKLabel name="name-label" class="utk-property-item__label" />
<VisualElement class="utk-property-item__value" style="flex-grow: 1; flex-direction: row;">
<utk:UTKIntegerField name="min-field" style="flex-grow: 1;" />
<utk:UTKLabel text="~" size="Body2" class="utk-property-item__range-separator" />
<utk:UTKIntegerField name="max-field" style="flex-grow: 1;" />
</VisualElement>
</VisualElement>
</UXML>

View File

@@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: a17058a524ef0fa4c8d704fb67de64a7
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<UXML xmlns="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit">
<VisualElement name="item-root" class="utk-property-item utk-property-item--radio">
<utk:UTKLabel name="name-label" class="utk-property-item__label" />
<VisualElement class="utk-property-item__value">
<VisualElement name="radio-container" class="utk-property-item__radio-container" />
</VisualElement>
</VisualElement>
</UXML>

View File

@@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: c680dc30ab6d1f84f89ad40b21494760
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -1,8 +0,0 @@
<UXML xmlns="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit" editor-extension-mode="False">
<VisualElement name="item-root" class="utk-property-item utk-property-item--string">
<utk:UTKLabel name="name-label" class="utk-property-item__label" />
<VisualElement class="utk-property-item__value">
<utk:UTKInputField name="value-field" style="flex-grow: 1;" />
</VisualElement>
</VisualElement>
</UXML>

View File

@@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: c8a37446f52e9a24c9f6178da44e0a26
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -1,8 +0,0 @@
<UXML xmlns="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit" editor-extension-mode="False">
<VisualElement name="item-root" class="utk-property-item utk-property-item--vector2">
<utk:UTKLabel name="name-label" class="utk-property-item__label" />
<VisualElement class="utk-property-item__value">
<utk:UTKVector2Field name="value-field" class="utk-property-item__vector2-field" style="flex-grow: 1; margin-right: 0;" />
</VisualElement>
</VisualElement>
</UXML>

View File

@@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: afcba438b06894046aeefe41948564fb
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -1,8 +0,0 @@
<UXML xmlns="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit" editor-extension-mode="False">
<VisualElement name="item-root" class="utk-property-item utk-property-item--vector3">
<utk:UTKLabel name="name-label" class="utk-property-item__label" />
<VisualElement class="utk-property-item__value">
<utk:UTKVector3Field name="value-field" class="utk-property-item__vector3-field" style="flex-grow: 1; margin-right: 0;" />
</VisualElement>
</VisualElement>
</UXML>

View File

@@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: 3f7e527b348e7e640aaca70d1a45cda6
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 6cb5ab7a40776b0479114d3cf76e5054 guid: 74e5838a31947554e89b6fc883475108
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit">
<ui:VisualElement name="container" class="utk-property-item-view-container">
<utk:UTKLabel name="label" text="Label" class="utk-property-item-view__label" />
<ui:VisualElement name="value-container" class="utk-property-item-view__value">
<utk:UTKToggle name="value-field" class="utk-property-item-view__toggle" />
<utk:UTKLabel name="state-label" class="utk-property-item-view__state-label" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: a590f1887a0d8bb4fa61bfd30deaad66 guid: 8540488a78729f94eb298368c77df2e2
ScriptedImporter: ScriptedImporter:
internalIDToNameTable: [] internalIDToNameTable: []
externalObjects: {} externalObjects: {}

View File

@@ -0,0 +1,28 @@
/*
* UTKBoolPropertyItemViewUss.uss
* Bool PropertyItem View 전용 스타일
*/
.utk-property-item-view--bool {
/* Bool View 전용 스타일 */
}
/* 기본 상태: Toggle 표시, state-label 숨김 */
.utk-property-item-view--bool .utk-property-item-view__toggle {
flex-grow: 0;
display: flex;
}
.utk-property-item-view--bool .utk-property-item-view__state-label {
flex-grow: 1;
display: none;
}
/* ReadOnly 상태: Toggle 숨김, state-label 표시 */
.utk-property-item-view--bool.utk-property-item-view--readonly .utk-property-item-view__toggle {
display: none;
}
.utk-property-item-view--bool.utk-property-item-view--readonly .utk-property-item-view__state-label {
display: flex;
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7b3aa21b75ff66945bc3813ca86d6154
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit">
<ui:VisualElement name="container" class="utk-property-item-view-container">
<utk:UTKLabel name="label" text="Label" class="utk-property-item-view__label" />
<ui:VisualElement name="value-container" class="utk-property-item-view__value">
<ui:VisualElement name="color-preview" class="utk-property-item-view__color-preview" />
<utk:UTKInputField name="hex-field" class="utk-property-item-view__field" />
<utk:UTKButton name="picker-btn" text="..." class="utk-property-item-view__picker-btn" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: af7209711f828a043a1e83c107ea1a79 guid: 8150d934df659094494bd7f959d09a9c
ScriptedImporter: ScriptedImporter:
internalIDToNameTable: [] internalIDToNameTable: []
externalObjects: {} externalObjects: {}

View File

@@ -0,0 +1,23 @@
/*
* UTKColorPropertyItemViewUss.uss
* Color PropertyItem View 전용 스타일
*/
.utk-property-item-view--color {
/* Color View 전용 스타일 */
}
.utk-property-item-view--color .utk-property-item-view__color-preview {
width: 24px;
height: 24px;
border-radius: 4px;
border-width: 1px;
border-color: rgba(255, 255, 255, 0.2);
margin-right: 8px;
}
.utk-property-item-view--color .utk-property-item-view__picker-btn {
min-width: 28px;
max-width: 28px;
margin-left: 4px;
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d099b3ff24a56534aa66b7dea2493309
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit">
<ui:VisualElement name="container" class="utk-property-item-view-container">
<utk:UTKLabel name="label" text="Label" class="utk-property-item-view__label" />
<ui:VisualElement name="value-container" class="utk-property-item-view__value">
<utk:UTKLabel name="state-label" class="utk-property-item-view__state-label" />
<ui:VisualElement name="color-preview" class="utk-property-item-view__color-preview" />
<utk:UTKButton name="picker-btn" text="..." class="utk-property-item-view__picker-btn" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 07854bdb3074d114bb54153675ef87d2 guid: 98c1f62795b74eb4392e321d7ffdbfcb
ScriptedImporter: ScriptedImporter:
internalIDToNameTable: [] internalIDToNameTable: []
externalObjects: {} externalObjects: {}

View File

@@ -0,0 +1,27 @@
/*
* UTKColorStatePropertyItemViewUss.uss
* ColorState PropertyItem View 전용 스타일
*/
.utk-property-item-view--color-state {
/* ColorState View 전용 스타일 */
}
.utk-property-item-view--color-state .utk-property-item-view__state-label {
flex-grow: 1;
margin-right: 8px;
}
.utk-property-item-view--color-state .utk-property-item-view__color-preview {
width: 24px;
height: 24px;
border-radius: 4px;
border-width: 1px;
border-color: rgba(255, 255, 255, 0.2);
margin-right: 4px;
}
.utk-property-item-view--color-state .utk-property-item-view__picker-btn {
min-width: 28px;
max-width: 28px;
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 49461717c77f24a4f94821f2572366da
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit">
<ui:VisualElement name="container" class="utk-property-item-view-container">
<utk:UTKLabel name="label" text="Label" class="utk-property-item-view__label" />
<ui:VisualElement name="value-container" class="utk-property-item-view__value">
<utk:UTKInputField name="date-field" class="utk-property-item-view__field" />
<utk:UTKButton name="picker-btn" text="..." class="utk-property-item-view__picker-btn" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 05cd1b1857da84e4787bd2ebe9456b64
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -0,0 +1,18 @@
/*
* UTKDatePropertyItemViewUss.uss
* Date PropertyItem View 전용 스타일
*/
.utk-property-item-view--date {
/* Date View 전용 스타일 */
}
.utk-property-item-view--date .utk-property-item-view__field {
flex-grow: 1;
}
.utk-property-item-view--date .utk-property-item-view__picker-btn {
min-width: 28px;
max-width: 28px;
margin-left: 4px;
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 1388d60be75ad764295f57d51159d2c1
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit">
<ui:VisualElement name="container" class="utk-property-item-view-container">
<utk:UTKLabel name="label" text="Label" class="utk-property-item-view__label" />
<ui:VisualElement name="value-container" class="utk-property-item-view__value">
<utk:UTKInputField name="start-field" class="utk-property-item-view__field" />
<utk:UTKButton name="start-picker-btn" text="..." class="utk-property-item-view__picker-btn" />
<utk:UTKLabel text="~" class="utk-property-item-view__range-separator" />
<utk:UTKInputField name="end-field" class="utk-property-item-view__field" />
<utk:UTKButton name="end-picker-btn" text="..." class="utk-property-item-view__picker-btn" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 67b7b78ec3fa59d46a90effb2adc3055
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -0,0 +1,23 @@
/*
* UTKDateRangePropertyItemViewUss.uss
* DateRange PropertyItem View 전용 스타일
*/
.utk-property-item-view--date-range {
/* DateRange View 전용 스타일 */
}
.utk-property-item-view--date-range .utk-property-item-view__field {
flex-grow: 1;
}
.utk-property-item-view--date-range .utk-property-item-view__picker-btn {
min-width: 28px;
max-width: 28px;
margin-left: 4px;
}
.utk-property-item-view--date-range .utk-property-item-view__range-separator {
margin: 0 8px;
-unity-text-align: middle-center;
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3e9baceadec39a54bb43ecfe5d7847fa
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit">
<ui:VisualElement name="container" class="utk-property-item-view-container">
<utk:UTKLabel name="label" text="Label" class="utk-property-item-view__label" />
<ui:VisualElement name="value-container" class="utk-property-item-view__value">
<utk:UTKInputField name="datetime-field" class="utk-property-item-view__field" />
<utk:UTKButton name="picker-btn" text="..." class="utk-property-item-view__picker-btn" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: df60d0fdb4e4cf34883bf2a850a4f77f
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -0,0 +1,18 @@
/*
* UTKDateTimePropertyItemViewUss.uss
* DateTime PropertyItem View 전용 스타일
*/
.utk-property-item-view--datetime {
/* DateTime View 전용 스타일 */
}
.utk-property-item-view--datetime .utk-property-item-view__field {
flex-grow: 1;
}
.utk-property-item-view--datetime .utk-property-item-view__picker-btn {
min-width: 28px;
max-width: 28px;
margin-left: 4px;
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3f7e0fd8161f2524da443a8762d3b56b
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit">
<ui:VisualElement name="container" class="utk-property-item-view-container">
<utk:UTKLabel name="label" text="Label" class="utk-property-item-view__label" />
<ui:VisualElement name="value-container" class="utk-property-item-view__value">
<utk:UTKInputField name="start-field" class="utk-property-item-view__field" />
<utk:UTKButton name="start-picker-btn" text="..." class="utk-property-item-view__picker-btn" />
<utk:UTKLabel text="~" class="utk-property-item-view__range-separator" />
<utk:UTKInputField name="end-field" class="utk-property-item-view__field" />
<utk:UTKButton name="end-picker-btn" text="..." class="utk-property-item-view__picker-btn" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: b1dfe16d3290d424eae3282ce9eff2cd
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -0,0 +1,23 @@
/*
* UTKDateTimeRangePropertyItemViewUss.uss
* DateTimeRange PropertyItem View 전용 스타일
*/
.utk-property-item-view--datetime-range {
/* DateTimeRange View 전용 스타일 */
}
.utk-property-item-view--datetime-range .utk-property-item-view__field {
flex-grow: 1;
}
.utk-property-item-view--datetime-range .utk-property-item-view__picker-btn {
min-width: 28px;
max-width: 28px;
margin-left: 4px;
}
.utk-property-item-view--datetime-range .utk-property-item-view__range-separator {
margin: 0 8px;
-unity-text-align: middle-center;
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 85aee0d50ac66c94f94cc91c39d0ac5a
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit">
<ui:VisualElement name="container" class="utk-property-item-view-container">
<utk:UTKLabel name="label" text="Label" class="utk-property-item-view__label" />
<ui:VisualElement name="value-container" class="utk-property-item-view__value">
<utk:UTKDropdown name="dropdown-field" class="utk-property-item-view__dropdown" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: c6e678cb199a76e44a636a6386d015df
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -0,0 +1,12 @@
/*
* UTKDropdownPropertyItemViewUss.uss
* Dropdown PropertyItem View 전용 스타일
*/
.utk-property-item-view--dropdown {
/* Dropdown View 전용 스타일 */
}
.utk-property-item-view--dropdown .utk-property-item-view__dropdown {
flex-grow: 1;
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 0f0eb107017f0d4489e371343613901b
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit">
<ui:VisualElement name="container" class="utk-property-item-view-container">
<utk:UTKLabel name="label" text="Label" class="utk-property-item-view__label" />
<ui:VisualElement name="value-container" class="utk-property-item-view__value">
<utk:UTKEnumDropDown name="enum-dropdown" class="utk-property-item-view__dropdown" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: ff74cbe64be16d9489e027edf3bdb849
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -0,0 +1,12 @@
/*
* UTKEnumPropertyItemViewUss.uss
* Enum PropertyItem View 전용 스타일
*/
.utk-property-item-view--enum {
/* Enum View 전용 스타일 */
}
.utk-property-item-view--enum .utk-property-item-view__dropdown {
flex-grow: 1;
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 063d376b36cef8c4b9e67dd5381f4902
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit">
<ui:VisualElement name="container" class="utk-property-item-view-container">
<utk:UTKLabel name="label" text="Label" class="utk-property-item-view__label" />
<ui:VisualElement name="value-container" class="utk-property-item-view__value">
<utk:UTKSlider name="slider-field" class="utk-property-item-view__slider" />
<utk:UTKFloatField name="value-field" class="utk-property-item-view__field" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 6d351d358cb46114183ae33c6464191b
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -0,0 +1,45 @@
/*
* UTKFloatPropertyItemViewUss.uss
* Float PropertyItem View 전용 스타일
*/
.utk-property-item-view--float {
/* Float View 전용 스타일 */
}
.utk-property-item-view--float .utk-property-item-view__value {
flex-direction: row;
flex-grow: 1;
}
/* 기본 상태: Slider 숨김, Field만 표시 */
.utk-property-item-view--float .utk-property-item-view__slider {
display: none;
flex-grow: 1;
margin-right: 8px;
}
.utk-property-item-view--float .utk-property-item-view__field {
display: flex;
flex-grow: 1;
}
/* UseSlider 상태: Slider + Field 모두 표시 */
.utk-property-item-view--float.utk-property-item-view--slider .utk-property-item-view__slider {
display: flex;
}
.utk-property-item-view--float.utk-property-item-view--slider .utk-property-item-view__field {
flex-grow: 0;
min-width: 60px;
max-width: 80px;
}
/* ReadOnly 상태: Slider 숨김 */
.utk-property-item-view--float.utk-property-item-view--readonly .utk-property-item-view__slider {
display: none;
}
.utk-property-item-view--float.utk-property-item-view--readonly .utk-property-item-view__field {
flex-grow: 1;
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: a75bf4beee8786b44b6d7869458791db
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit">
<ui:VisualElement name="container" class="utk-property-item-view-container">
<utk:UTKLabel name="label" text="Label" class="utk-property-item-view__label" />
<ui:VisualElement name="value-container" class="utk-property-item-view__value">
<utk:UTKFloatField name="min-field" class="utk-property-item-view__field" />
<utk:UTKLabel text="~" class="utk-property-item-view__range-separator" />
<utk:UTKFloatField name="max-field" class="utk-property-item-view__field" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 57a595e805126e4498d6b2857faacb2a
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -0,0 +1,17 @@
/*
* UTKFloatRangePropertyItemViewUss.uss
* FloatRange PropertyItem View 전용 스타일
*/
.utk-property-item-view--float-range {
/* FloatRange View 전용 스타일 */
}
.utk-property-item-view--float-range .utk-property-item-view__field {
flex-grow: 1;
}
.utk-property-item-view--float-range .utk-property-item-view__range-separator {
margin: 0 8px;
-unity-text-align: middle-center;
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 50bc1148c6bdb4a418fd95a5382ee0e8
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit">
<ui:VisualElement name="container" class="utk-property-item-view-container">
<utk:UTKLabel name="label" text="Label" class="utk-property-item-view__label" />
<ui:VisualElement name="value-container" class="utk-property-item-view__value">
<utk:UTKSliderInt name="slider-field" class="utk-property-item-view__slider" />
<utk:UTKIntegerField name="value-field" class="utk-property-item-view__field" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: ec0830fedc3c34a4ea655fbd740f0378
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -0,0 +1,45 @@
/*
* UTKIntPropertyItemViewUss.uss
* Int PropertyItem View 전용 스타일
*/
.utk-property-item-view--int {
/* Int View 전용 스타일 */
}
.utk-property-item-view--int .utk-property-item-view__value {
flex-direction: row;
flex-grow: 1;
}
/* 기본 상태: Slider 숨김, Field만 표시 */
.utk-property-item-view--int .utk-property-item-view__slider {
display: none;
flex-grow: 1;
margin-right: 8px;
}
.utk-property-item-view--int .utk-property-item-view__field {
display: flex;
flex-grow: 1;
}
/* UseSlider 상태: Slider + Field 모두 표시 */
.utk-property-item-view--int.utk-property-item-view--slider .utk-property-item-view__slider {
display: flex;
}
.utk-property-item-view--int.utk-property-item-view--slider .utk-property-item-view__field {
flex-grow: 0;
min-width: 60px;
max-width: 80px;
}
/* ReadOnly 상태: Slider 숨김 */
.utk-property-item-view--int.utk-property-item-view--readonly .utk-property-item-view__slider {
display: none;
}
.utk-property-item-view--int.utk-property-item-view--readonly .utk-property-item-view__field {
flex-grow: 1;
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: c12c86d736c04224fa62af9fbbd52f85
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:utk="UVC.UIToolkit">
<ui:VisualElement name="container" class="utk-property-item-view-container">
<utk:UTKLabel name="label" text="Label" class="utk-property-item-view__label" />
<ui:VisualElement name="value-container" class="utk-property-item-view__value">
<utk:UTKIntegerField name="min-field" class="utk-property-item-view__field" />
<utk:UTKLabel text="~" class="utk-property-item-view__range-separator" />
<utk:UTKIntegerField name="max-field" class="utk-property-item-view__field" />
</ui:VisualElement>
</ui:VisualElement>
</ui:UXML>

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 5f6379c3c29e9284788f893f1b95cfdc
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}

View File

@@ -0,0 +1,17 @@
/*
* UTKIntRangePropertyItemViewUss.uss
* IntRange PropertyItem View 전용 스타일
*/
.utk-property-item-view--int-range {
/* IntRange View 전용 스타일 */
}
.utk-property-item-view--int-range .utk-property-item-view__field {
flex-grow: 1;
}
.utk-property-item-view--int-range .utk-property-item-view__range-separator {
margin: 0 8px;
-unity-text-align: middle-center;
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 72838658832a79b4fa9d0e89f9534d69
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0

View File

@@ -1,58 +1,20 @@
/* UTKPropertyCommon.uss - 속성 공통 스타일 */ /*
/* 테마 시스템 CSS 변수 사용 (UTKThemeDark.uss / UTKThemeLight.uss) */ * ===================================
* UTKPropertyItemViewCommonUss.uss
* PropertyItem View 공통 스타일
* ===================================
*
* 이 파일은 UTKThemeManager의 테마 변수를 참조합니다.
* - 색상: var(--color-*)
* - 간격: var(--space-*)
* - 반지름: var(--radius-*)
*/
/* =================================== /* ===================================
Property List Container 기본 컨테이너
=================================== */ =================================== */
.utk-property-list {
flex-grow: 1;
background-color: var(--color-bg-panel);
}
.utk-property-list__search-container { .utk-property-item-view {
flex-direction: row;
padding: var(--space-m) 0;
}
/* UTKInputField 검색 필드 스타일 */
.utk-property-list__search-field {
flex-grow: 1;
}
.utk-property-list__search-field .unity-text-field__input {
background-color: var(--color-bg-input);
border-width: var(--border-width);
border-color: var(--color-border);
border-radius: var(--radius-s);
padding: var(--space-s) var(--space-m);
min-height: 24px;
font-size: var(--font-size-body2);
}
.utk-property-list__search-field:focus .unity-text-field__input {
border-color: var(--color-border-focus);
}
.utk-property-list__tree-view {
flex-grow: 1;
}
/* TreeView 기본 토글 버튼 숨기기 (커스텀 그룹 헤더 아이콘 사용) */
.utk-property-list__tree-view .unity-tree-view__item-toggle {
display: none;
}
/* ===================================
Property Item Container
=================================== */
.utk-property-item-container {
flex-grow: 1;
}
/* ===================================
Property Item 공통 스타일
=================================== */
.utk-property-item {
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
min-height: 28px; min-height: 28px;
@@ -64,54 +26,96 @@
border-bottom-color: var(--color-border); border-bottom-color: var(--color-border);
} }
.utk-property-item:hover { .utk-property-item-view:hover {
background-color: var(--color-collection-item-hover); background-color: var(--color-collection-item-hover);
} }
.utk-property-item--readonly { .utk-property-item-view TemplateContainer {
flex-grow: 1;
}
/* ===================================
Property Item Container
=================================== */
.utk-property-item-view-container {
flex-grow: 1;
flex-direction: row;
}
/* ===================================
읽기 전용 상태
=================================== */
.utk-property-item-view--readonly {
opacity: 0.6; opacity: 0.6;
} }
.utk-property-item--hidden { .utk-property-item-view--readonly .utk-property-item-view__field {
flex-grow: 1;
}
/* ===================================
숨김 상태
=================================== */
.utk-property-item-view--hidden {
display: none; display: none;
} }
/* =================================== /* ===================================
Label 라벨 스타일
=================================== */ =================================== */
.utk-property-item__label {
.utk-property-item-view__label {
width: 120px; width: 120px;
min-width: 120px; min-width: 120px;
max-width: 200px;
flex-shrink: 0;
color: var(--color-text-primary); color: var(--color-text-primary);
font-size: var(--font-size-body2); font-size: var(--font-size-body2);
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
-unity-text-overflow-position: end; -unity-text-overflow-position: end;
white-space: nowrap; white-space: nowrap;
-unity-text-align: middle-left;
padding-right: 10px; padding-right: 10px;
} }
/* =================================== /* ===================================
Value 영역 값 컨테이너
=================================== */ =================================== */
.utk-property-item__value {
.utk-property-item-view__value {
flex-grow: 1; flex-grow: 1;
flex-direction: row; flex-direction: row;
align-items: center; align-items: stretch;
}
/* ===================================
공통 필드 스타일
=================================== */
.utk-property-item-view__field {
flex-grow: 1;
min-width: 60px;
} }
/* =================================== /* ===================================
TextField 공통 TextField 공통
=================================== */ =================================== */
.utk-property-item TextField,
.utk-property-item IntegerField, .utk-property-item-view TextField,
.utk-property-item FloatField { .utk-property-item-view IntegerField,
.utk-property-item-view FloatField {
flex-grow: 1; flex-grow: 1;
} }
.utk-property-item TextField .unity-text-field__input, .utk-property-item-view TextField .unity-text-field__input,
.utk-property-item IntegerField .unity-integer-field__input, .utk-property-item-view IntegerField .unity-integer-field__input,
.utk-property-item FloatField .unity-float-field__input { .utk-property-item-view FloatField .unity-float-field__input {
background-color: var(--color-bg-input); background-color: var(--color-bg-input);
border-width: var(--border-width); border-width: var(--border-width);
border-color: var(--color-border); border-color: var(--color-border);
@@ -121,20 +125,21 @@
min-height: 22px; min-height: 22px;
} }
.utk-property-item TextField:focus .unity-text-field__input, .utk-property-item-view TextField:focus .unity-text-field__input,
.utk-property-item IntegerField:focus .unity-integer-field__input, .utk-property-item-view IntegerField:focus .unity-integer-field__input,
.utk-property-item FloatField:focus .unity-float-field__input { .utk-property-item-view FloatField:focus .unity-float-field__input {
border-color: var(--color-border-focus); border-color: var(--color-border-focus);
} }
/* =================================== /* ===================================
Toggle Toggle
=================================== */ =================================== */
.utk-property-item Toggle {
.utk-property-item-view Toggle {
flex-grow: 0; flex-grow: 0;
} }
.utk-property-item Toggle .unity-toggle__checkmark { .utk-property-item-view Toggle .unity-toggle__checkmark {
width: 18px; width: 18px;
height: 18px; height: 18px;
background-color: var(--color-bg-input); background-color: var(--color-bg-input);
@@ -143,21 +148,33 @@
border-radius: var(--radius-s); border-radius: var(--radius-s);
} }
.utk-property-item Toggle:checked .unity-toggle__checkmark { .utk-property-item-view Toggle:checked .unity-toggle__checkmark {
background-color: var(--color-btn-primary); background-color: var(--color-btn-primary);
border-color: var(--color-btn-primary-hover); border-color: var(--color-btn-primary-hover);
} }
/* =================================== /* ===================================
Slider 슬라이더 스타일
=================================== */ =================================== */
.utk-property-item Slider {
.utk-property-item-view__slider {
flex-grow: 1;
margin-right: 8px;
}
.utk-property-item-view__field--with-slider {
flex-grow: 0;
min-width: 60px;
max-width: 80px;
}
.utk-property-item-view Slider {
flex-grow: 1; flex-grow: 1;
margin-left: var(--space-m); margin-left: var(--space-m);
margin-right: var(--space-m); margin-right: var(--space-m);
} }
.utk-property-item Slider .unity-base-slider__dragger { .utk-property-item-view Slider .unity-base-slider__dragger {
width: 12px; width: 12px;
height: 12px; height: 12px;
border-radius: var(--radius-full); border-radius: var(--radius-full);
@@ -165,7 +182,7 @@
margin-top: -4px; margin-top: -4px;
} }
.utk-property-item Slider .unity-base-slider__tracker { .utk-property-item-view Slider .unity-base-slider__tracker {
height: 4px; height: 4px;
background-color: var(--color-base-12); background-color: var(--color-base-12);
border-radius: var(--radius-s); border-radius: var(--radius-s);
@@ -174,13 +191,14 @@
/* =================================== /* ===================================
SliderInt SliderInt
=================================== */ =================================== */
.utk-property-item SliderInt {
.utk-property-item-view SliderInt {
flex-grow: 1; flex-grow: 1;
margin-left: var(--space-m); margin-left: var(--space-m);
margin-right: var(--space-m); margin-right: var(--space-m);
} }
.utk-property-item SliderInt .unity-base-slider__dragger { .utk-property-item-view SliderInt .unity-base-slider__dragger {
width: 12px; width: 12px;
height: 12px; height: 12px;
border-radius: var(--radius-full); border-radius: var(--radius-full);
@@ -188,20 +206,39 @@
margin-top: -4px; margin-top: -4px;
} }
.utk-property-item SliderInt .unity-base-slider__tracker { .utk-property-item-view SliderInt .unity-base-slider__tracker {
height: 4px; height: 4px;
background-color: var(--color-base-12); background-color: var(--color-base-12);
border-radius: var(--radius-s); border-radius: var(--radius-s);
} }
/* =================================== /* ===================================
Dropdown 슬라이더 모드 공통
=================================== */ =================================== */
.utk-property-item DropdownField {
.utk-property-item-view--slider .utk-property-item-view__value {
flex-direction: row;
flex-grow: 1; flex-grow: 1;
} }
.utk-property-item DropdownField .unity-base-popup-field__input { .utk-property-item-view--slider .utk-property-item-view__slider {
flex-grow: 1;
}
.utk-property-item-view--slider .utk-property-item-view__number-field {
width: 60px;
margin-left: 10px;
}
/* ===================================
Dropdown
=================================== */
.utk-property-item-view DropdownField {
flex-grow: 1;
}
.utk-property-item-view DropdownField .unity-base-popup-field__input {
background-color: var(--color-bg-input); background-color: var(--color-bg-input);
border-width: var(--border-width); border-width: var(--border-width);
border-color: var(--color-border); border-color: var(--color-border);
@@ -213,7 +250,8 @@
/* =================================== /* ===================================
Button (Color/Date Picker 열기) Button (Color/Date Picker 열기)
=================================== */ =================================== */
.utk-property-item__picker-btn {
.utk-property-item-view__picker-btn {
width: 24px; width: 24px;
min-width: 24px; min-width: 24px;
height: 24px; height: 24px;
@@ -225,14 +263,15 @@
padding: 0; padding: 0;
} }
.utk-property-item__picker-btn:hover { .utk-property-item-view__picker-btn:hover {
background-color: var(--color-btn-hover); background-color: var(--color-btn-hover);
} }
/* =================================== /* ===================================
Color Preview Color Preview
=================================== */ =================================== */
.utk-property-item__color-preview {
.utk-property-item-view__color-preview {
width: 22px; width: 22px;
height: 22px; height: 22px;
border-width: var(--border-width); border-width: var(--border-width);
@@ -244,22 +283,18 @@
/* =================================== /* ===================================
Vector 필드 Vector 필드
=================================== */ =================================== */
.utk-property-item--vector2 .utk-property-item__value,
.utk-property-item--vector3 .utk-property-item__value { .utk-property-item-view--vector2 .utk-property-item-view__value,
.utk-property-item-view--vector3 .utk-property-item-view__value {
flex-direction: row; flex-direction: row;
} }
.utk-property-item__vector-field { .utk-property-item-view__vector-field {
flex-grow: 1; flex-grow: 1;
margin-right: var(--space-m); margin-right: var(--space-m);
} }
/* Unity USS does not support :last-child pseudo-class */ .utk-property-item-view__vector-label {
/* .utk-property-item__vector-field:last-child {
margin-right: 0;
} */
.utk-property-item__vector-label {
width: 12px; width: 12px;
font-size: var(--font-size-label4); font-size: var(--font-size-label4);
color: var(--color-text-secondary); color: var(--color-text-secondary);
@@ -279,8 +314,11 @@
color: var(--color-vector-z); color: var(--color-vector-z);
} }
/* State label */ /* ===================================
.utk-property-item__state-label { State label
=================================== */
.utk-property-item-view__state-label {
flex-grow: 1; flex-grow: 1;
-unity-text-align: middle-left; -unity-text-align: middle-left;
color: var(--color-text-primary); color: var(--color-text-primary);
@@ -289,104 +327,20 @@
/* =================================== /* ===================================
Range 필드 Range 필드
=================================== */ =================================== */
.utk-property-item__range-separator {
.utk-property-item-view__range-separator {
color: var(--color-text-secondary); color: var(--color-text-secondary);
margin-left: var(--space-m); margin-left: var(--space-m);
margin-right: var(--space-m); margin-right: var(--space-m);
font-size: var(--font-size-body2); font-size: var(--font-size-body2);
} }
/* ===================================
Group Header
=================================== */
.utk-property-group {
flex-direction: column;
}
.utk-property-group__header {
flex-direction: row;
align-items: center;
height: 32px;
padding-left: var(--space-m);
padding-right: var(--space-m);
background-color: var(--color-bg-elevated);
border-bottom-width: var(--border-width);
border-bottom-color: var(--color-border);
cursor: resource('UIToolkit/Images/cursor_point_white_32') 14 5;
}
.utk-property-group__header:hover {
background-color: var(--color-collection-item-hover);
}
/* UTKLabel 펼침 아이콘 스타일 */
.utk-property-group__expand-icon {
width: 16px;
height: 16px;
margin-right: var(--space-s);
justify-content: center;
align-items: center;
}
.utk-property-group__expand-icon .utk-label__icon {
font-size: 16px;
color: var(--color-text-secondary);
}
.utk-property-group__header:hover .utk-property-group__expand-icon .utk-label__icon {
color: var(--color-text-primary);
}
/* UTKLabel 그룹 타이틀 스타일 */
.utk-property-group__title {
flex-grow: 1;
}
.utk-property-group__title .utk-label__text {
font-size: var(--font-size-body2);
-unity-font-style: bold;
color: var(--color-text-primary);
}
/* UTKLabel 아이템 개수 스타일 */
.utk-property-group__count {
margin-left: var(--space-m);
}
.utk-property-group__count .utk-label__text {
font-size: var(--font-size-label4);
color: var(--color-text-secondary);
}
.utk-property-group__content {
overflow: hidden;
}
.utk-property-group--collapsed .utk-property-group__content {
display: none;
}
/* =================================== /* ===================================
Description 영역 Description 영역
=================================== */ =================================== */
.utk-property-item__description {
.utk-property-item-view__description {
font-size: var(--font-size-label4); font-size: var(--font-size-label4);
color: var(--color-text-secondary); color: var(--color-text-secondary);
margin-top: var(--space-xs); margin-top: var(--space-xs);
} }
/* ===================================
Int/Float 슬라이더 모드
=================================== */
.utk-property-item--slider .utk-property-item__value {
flex-direction: row;
}
.utk-property-item--slider .utk-property-item__slider {
flex-grow: 1;
}
.utk-property-item--slider .utk-property-item__number-field {
width: 60px;
margin-left: 10px;
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 9342ecce34055144da2460a82d5a85a6
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0

Some files were not shown because too many files have changed in this diff Show More