샘플 코드 개선. UTKHelpBox 개선

This commit is contained in:
logonkhi
2026-01-26 20:00:21 +09:00
parent 99f9c3b26d
commit 097436a8b0
18 changed files with 1321 additions and 81 deletions

View File

@@ -187,6 +187,58 @@ public partial class UTKStyleGuideSample
accordionWindow.Show();
container.Add(accordionWindow);
SetCodeSamples(root,
csharpCode: @"// 아코디언 리스트 윈도우 생성
var accordionWindow = new UTKAccordionListWindow();
accordionWindow.Title = ""프리펍 라이브러리"";
accordionWindow.ShowCloseButton = true;
var data = new UTKAccordionData();
// 수평 레이아웃 섹션
var settingsSection = new UTKAccordionSectionData
{
Title = ""Settings"",
IsExpanded = true,
LayoutType = UTKAccordionLayoutType.Horizontal,
HorizontalItems = new List<UTKAccordionHorizontalItemData>
{
new UTKAccordionHorizontalItemData
{
Head = UTKAccordionContentSpec.FromImage(UTKMaterialIcons.LibraryAdd),
Content = UTKAccordionContentSpec.FromText(""Graphics"", ""open_graphics""),
Tail = new List<UTKAccordionContentSpec>
{
UTKAccordionContentSpec.FromIconButton(UTKMaterialIcons.Refresh, 12, ""refresh_graphics"", ""새로고침""),
UTKAccordionContentSpec.FromIconButton(UTKMaterialIcons.Settings, 12, ""setting_graphics"", ""설정""),
}
}
}
};
data.Sections.Add(settingsSection);
// 그리드 레이아웃 섹션
var vehiclesSection = new UTKAccordionSectionData
{
Title = ""Vehicles"",
IsExpanded = true,
LayoutType = UTKAccordionLayoutType.Grid,
GridItems = new List<UTKAccordionGridItemData>
{
new UTKAccordionGridItemData
{
Caption = ""Forklift"",
ImagePath = ""Simulator/Images/lib_forklift_400x300"",
PrefabPath = ""Simulator/FreeForkLift/Prefabs/Forklift"",
Tag = ""vehicle""
}
}
};
data.Sections.Add(vehiclesSection);
accordionWindow.SetData(data);
accordionWindow.Show();");
}
private void InitializeComponentListWindowSample(VisualElement root)
@@ -216,6 +268,29 @@ public partial class UTKStyleGuideSample
componentWindow.Show();
container.Add(componentWindow);
SetCodeSamples(root,
csharpCode: @"// 컴포넌트 리스트 윈도우 생성
var componentWindow = new UTKComponentListWindow();
componentWindow.Title = ""모델 리스트"";
componentWindow.ShowCloseButton = true;
// 테마 변경 이벤트 구독
UTKThemeManager.Instance.OnThemeChanged += _ => UTKThemeManager.Instance.ApplyThemeToElement(componentWindow);
// 샘플 데이터
var category1 = new UTKComponentListCategoryData { name = ""캐릭터"", isExpanded = true };
category1.Add(new UTKComponentListItemData { name = ""플레이어"", ExternalKey = ""player_001"", IsVisible = true });
category1.Add(new UTKComponentListItemData { name = ""NPC_01"", ExternalKey = ""npc_001"", IsVisible = true });
category1.Add(new UTKComponentListItemData { name = ""NPC_02"", ExternalKey = ""npc_002"", IsVisible = false });
var category2 = new UTKComponentListCategoryData { name = ""환경"", isExpanded = false };
category2.Add(new UTKComponentListItemData { name = ""나무"", ExternalKey = ""tree_001"", IsVisible = true });
category2.Add(new UTKComponentListItemData { name = ""바위"", ExternalKey = ""rock_001"", IsVisible = true });
var data = new List<UTKComponentListItemDataBase> { category1, category2 };
componentWindow.SetData(data);
componentWindow.Show();");
}
private void InitializeComponentTabListWindowSample(VisualElement root)
@@ -248,6 +323,32 @@ public partial class UTKStyleGuideSample
tabWindow.Show();
container.Add(tabWindow);
SetCodeSamples(root,
csharpCode: @"// 컴포넌트 탭 리스트 윈도우 생성
var tabWindow = new UTKComponentTabListWindow();
tabWindow.Title = ""모델 라이브러리"";
tabWindow.ShowCloseButton = true;
// 테마 변경 이벤트 구독
UTKThemeManager.Instance.OnThemeChanged += _ => UTKThemeManager.Instance.ApplyThemeToElement(tabWindow);
// 샘플 데이터 (카테고리가 탭으로 자동 생성됨)
var category1 = new UTKComponentListCategoryData { name = ""캐릭터"", isExpanded = true };
category1.Add(new UTKComponentListItemData { name = ""플레이어"", IsVisible = true });
category1.Add(new UTKComponentListItemData { name = ""몬스터"", IsVisible = true });
var category2 = new UTKComponentListCategoryData { name = ""환경"", isExpanded = true };
category2.Add(new UTKComponentListItemData { name = ""나무"", IsVisible = true });
category2.Add(new UTKComponentListItemData { name = ""풀"", IsVisible = true });
var category3 = new UTKComponentListCategoryData { name = ""아이템"", isExpanded = true };
category3.Add(new UTKComponentListItemData { name = ""검"", IsVisible = true });
category3.Add(new UTKComponentListItemData { name = ""방패"", IsVisible = true });
var data = new List<UTKComponentListItemDataBase> { category1, category2, category3 };
tabWindow.SetData(data);
tabWindow.Show();");
}
private void InitializeImageListWindowSample(VisualElement root)
@@ -274,6 +375,26 @@ public partial class UTKStyleGuideSample
imageWindow.Show();
container.Add(imageWindow);
SetCodeSamples(root,
csharpCode: @"// 이미지 리스트 윈도우 생성
var imageWindow = new UTKImageListWindow();
imageWindow.Title = ""텍스처 라이브러리"";
imageWindow.ShowCloseButton = true;
// 테마 변경 이벤트 구독
UTKThemeManager.Instance.OnThemeChanged += _ => UTKThemeManager.Instance.ApplyThemeToElement(imageWindow);
// 샘플 데이터
var data = new List<UTKImageListItemData>
{
new UTKImageListItemData { itemName = ""Texture_01"", externalId = ""tex_001"" },
new UTKImageListItemData { itemName = ""Texture_02"", externalId = ""tex_002"" },
new UTKImageListItemData { itemName = ""Texture_03"", externalId = ""tex_003"" },
new UTKImageListItemData { itemName = ""Texture_04"", externalId = ""tex_004"" }
};
imageWindow.SetData(data);
imageWindow.Show();");
}
private void InitializeTreeListWindowSample(VisualElement root)
@@ -306,6 +427,32 @@ public partial class UTKStyleGuideSample
treeWindow.Show();
container.Add(treeWindow);
SetCodeSamples(root,
csharpCode: @"// 트리 리스트 윈도우 생성
var treeWindow = new UTKTreeListWindow();
treeWindow.Title = ""씬 계층 구조"";
treeWindow.ShowCloseButton = true;
// 테마 변경 이벤트 구독
UTKThemeManager.Instance.OnThemeChanged += _ => UTKThemeManager.Instance.ApplyThemeToElement(treeWindow);
// 샘플 데이터
var environment = new UTKTreeListItemData { name = ""Environment"", isExpanded = true };
environment.Add(new UTKTreeListItemData { name = ""Terrain"", ExternalKey = ""terrain_001"", IsVisible = true });
environment.Add(new UTKTreeListItemData { name = ""Trees"", ExternalKey = ""trees_001"", IsVisible = true });
var characters = new UTKTreeListItemData { name = ""Characters"", isExpanded = false };
characters.Add(new UTKTreeListItemData { name = ""Player"", ExternalKey = ""player_001"", IsVisible = true });
characters.Add(new UTKTreeListItemData { name = ""Enemies"", ExternalKey = ""enemies_001"", IsVisible = true });
var rootNode = new UTKTreeListItemData { name = ""Root"", isExpanded = true };
rootNode.Add(environment);
rootNode.Add(characters);
var data = new List<UTKTreeListItemData> { rootNode };
treeWindow.SetData(data);
treeWindow.Show();");
}
#endregion