From 2914667223432dee2337e3cdd637e2a6e03dac28 Mon Sep 17 00:00:00 2001 From: logonkhi Date: Wed, 25 Feb 2026 20:27:11 +0900 Subject: [PATCH] =?UTF-8?q?Factory=20Modal=20=EA=B0=9C=EB=B0=9C=EC=A4=91.?= =?UTF-8?q?=20UTKLoading=20=EA=B0=9C=EB=B0=9C=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .claude/settings.local.json | 3 +- .mcp.json | 4 +- .../Resources/AI-Game-Developer-Config.json | 423 +++++ .../AI-Game-Developer-Config.json.meta | 7 + .../Tab/TabContentComponentList.prefab | 4 +- .../Setting.meta => Factory/UIToolkit.meta} | 2 +- .../Factory/UIToolkit/Modal.meta} | 2 +- ...TKFactorySettingModalContentAlarmUXML.uxml | 5 + ...torySettingModalContentAlarmUXML.uxml.meta | 10 + ...FactorySettingModalContentDisplayUXML.uxml | 5 + ...rySettingModalContentDisplayUXML.uxml.meta | 10 + ...FactorySettingModalContentGeneralUXML.uxml | 5 + ...rySettingModalContentGeneralUXML.uxml.meta | 10 + ...TKFactorySettingModalContentInputUXML.uxml | 5 + ...torySettingModalContentInputUXML.uxml.meta | 10 + .../UIToolkit/List/UTKReordableTabListUss.uss | 68 + .../UTKReordableTabListUss.uss.meta} | 2 +- .../UTKSettingDisplayInfoTabViewUss.uss | 47 - .../UIToolkit/Modal/UTKLoadingUss.uss | 16 + .../UIToolkit/Modal/UTKLoadingUss.uss.meta | 11 + .../Sample/List/UTKReordableListSample.uxml | 20 + .../List/UTKReordableListSample.uxml.meta | 10 + .../List/UTKReordableTabListSample.uxml | 20 + .../List/UTKReordableTabListSample.uxml.meta | 10 + .../Sample/Modal/UTKLoadingSample.uxml | 52 + .../Sample/Modal/UTKLoadingSample.uxml.meta | 10 + .../UIToolkit/UTKReordableListSample.cs | 75 + .../UIToolkit/UTKReordableListUXML.uxml | 15 +- .../Sample/UIToolkit/UTKSettingModalSample.cs | 49 + .../Sample/UIToolkit/UTKSettingModalUXML.uxml | 5 + .../UIToolkit/UTKStyleGuideSample.List.cs | 160 ++ .../UIToolkit/UTKStyleGuideSample.Modal.cs | 97 ++ .../Sample/UIToolkit/UTKStyleGuideSample.cs | 16 +- .../Modal/UTKFactorySettingModalContent.cs | 82 + .../UTKFactorySettingModalContent.cs.meta} | 0 .../UTKFactorySettingModalContentAlarm.cs | 61 + ...UTKFactorySettingModalContentAlarm.cs.meta | 2 + .../UTKFactorySettingModalContentDisplay.cs | 114 ++ ...KFactorySettingModalContentDisplay.cs.meta | 2 + .../UTKFactorySettingModalContentGeneral.cs | 61 + ...KFactorySettingModalContentGeneral.cs.meta | 2 + .../UTKFactorySettingModalContentInput.cs | 61 + ...UTKFactorySettingModalContentInput.cs.meta | 2 + .../UVC/UIToolkit/List/UTKReordableTabList.cs | 360 +++++ .../List/UTKReordableTabList.cs.meta | 2 + .../Setting/UTKSettingDisplayInfoTabView.cs | 193 --- .../Scripts/UVC/UIToolkit/Modal/UTKLoading.cs | 464 ++++++ .../UVC/UIToolkit/Modal/UTKLoading.cs.meta | 2 + Assets/Scripts/UVC/UIToolkit/UTKStyleGuide.cs | 3 + Assets/com.IvanMurzak.meta | 8 + .../com.IvanMurzak/AI Game Dev Installer.meta | 8 + .../Installer.Manifest.cs | 167 ++ .../Installer.Manifest.cs.meta | 11 + .../AI Game Dev Installer/Installer.cs | 28 + .../AI Game Dev Installer/Installer.cs.meta | 11 + .../AI Game Dev Installer/PackageExporter.cs | 27 + .../PackageExporter.cs.meta | 11 + .../AI Game Dev Installer/README.md | 289 ++++ .../AI Game Dev Installer/README.md.meta | 7 + .../AI Game Dev Installer/SimpleJSON.cs | 1434 +++++++++++++++++ .../AI Game Dev Installer/SimpleJSON.cs.meta | 11 + .../AI Game Dev Installer/Tests.meta | 8 + .../AI Game Dev Installer/Tests/Files.meta | 8 + .../Tests/Files/Correct.meta | 8 + .../Tests/Files/Correct/correct_manifest.json | 33 + .../Files/Correct/correct_manifest.json.meta | 7 + .../Tests/Files/scopedregistries_empty_1.json | 20 + .../Files/scopedregistries_empty_1.json.meta | 7 + .../Tests/Files/scopedregistries_empty_2.json | 20 + .../Files/scopedregistries_empty_2.json.meta | 7 + .../Tests/Files/scopedregistries_gone.json | 19 + .../Files/scopedregistries_gone.json.meta | 7 + .../Tests/Files/scopes_empty.json | 26 + .../Tests/Files/scopes_empty.json.meta | 7 + .../Tests/Files/scopes_gone.json | 25 + .../Tests/Files/scopes_gone.json.meta | 7 + .../Tests/Files/scopes_partial_1.json | 32 + .../Tests/Files/scopes_partial_1.json.meta | 7 + .../Tests/Files/scopes_partial_2.json | 31 + .../Tests/Files/scopes_partial_2.json.meta | 7 + .../Tests/Files/scopes_partial_3.json | 30 + .../Tests/Files/scopes_partial_3.json.meta | 7 + .../Tests/Files/scopes_partial_4.json | 29 + .../Tests/Files/scopes_partial_4.json.meta | 7 + .../Tests/Files/scopes_partial_5.json | 28 + .../Tests/Files/scopes_partial_5.json.meta | 7 + .../Tests/ManifestInstallerTests.cs | 71 + .../Tests/ManifestInstallerTests.cs.meta | 11 + .../Tests/VersionComparisonTests.cs | 232 +++ .../Tests/VersionComparisonTests.cs.meta | 11 + ...vanMurzak.Unity.MCP.Installer.Tests.asmdef | 22 + ...rzak.Unity.MCP.Installer.Tests.asmdef.meta | 7 + .../com.IvanMurzak.Unity.MCP.Installer.asmdef | 16 + ...IvanMurzak.Unity.MCP.Installer.asmdef.meta | 7 + Packages/manifest.json | 22 +- Packages/packages-lock.json | 476 +++++- ProjectSettings/PackageManagerSettings.asset | 45 +- XRBase.slnx | 2 + 98 files changed, 5645 insertions(+), 282 deletions(-) create mode 100644 Assets/Resources/AI-Game-Developer-Config.json create mode 100644 Assets/Resources/AI-Game-Developer-Config.json.meta rename Assets/Resources/{UIToolkit/Modal/Setting.meta => Factory/UIToolkit.meta} (77%) rename Assets/{Scripts/UVC/UIToolkit/Modal/Setting.meta => Resources/Factory/UIToolkit/Modal.meta} (77%) create mode 100644 Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentAlarmUXML.uxml create mode 100644 Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentAlarmUXML.uxml.meta create mode 100644 Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentDisplayUXML.uxml create mode 100644 Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentDisplayUXML.uxml.meta create mode 100644 Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentGeneralUXML.uxml create mode 100644 Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentGeneralUXML.uxml.meta create mode 100644 Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentInputUXML.uxml create mode 100644 Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentInputUXML.uxml.meta create mode 100644 Assets/Resources/UIToolkit/List/UTKReordableTabListUss.uss rename Assets/Resources/UIToolkit/{Modal/Setting/UTKSettingDisplayInfoTabViewUss.uss.meta => List/UTKReordableTabListUss.uss.meta} (87%) delete mode 100644 Assets/Resources/UIToolkit/Modal/Setting/UTKSettingDisplayInfoTabViewUss.uss create mode 100644 Assets/Resources/UIToolkit/Modal/UTKLoadingUss.uss create mode 100644 Assets/Resources/UIToolkit/Modal/UTKLoadingUss.uss.meta create mode 100644 Assets/Resources/UIToolkit/Sample/List/UTKReordableListSample.uxml create mode 100644 Assets/Resources/UIToolkit/Sample/List/UTKReordableListSample.uxml.meta create mode 100644 Assets/Resources/UIToolkit/Sample/List/UTKReordableTabListSample.uxml create mode 100644 Assets/Resources/UIToolkit/Sample/List/UTKReordableTabListSample.uxml.meta create mode 100644 Assets/Resources/UIToolkit/Sample/Modal/UTKLoadingSample.uxml create mode 100644 Assets/Resources/UIToolkit/Sample/Modal/UTKLoadingSample.uxml.meta create mode 100644 Assets/Scripts/Factory/UIToolkit/Modal/UTKFactorySettingModalContent.cs rename Assets/Scripts/{UVC/UIToolkit/Modal/Setting/UTKSettingDisplayInfoTabView.cs.meta => Factory/UIToolkit/Modal/UTKFactorySettingModalContent.cs.meta} (100%) create mode 100644 Assets/Scripts/Factory/UIToolkit/Modal/UTKFactorySettingModalContentAlarm.cs create mode 100644 Assets/Scripts/Factory/UIToolkit/Modal/UTKFactorySettingModalContentAlarm.cs.meta create mode 100644 Assets/Scripts/Factory/UIToolkit/Modal/UTKFactorySettingModalContentDisplay.cs create mode 100644 Assets/Scripts/Factory/UIToolkit/Modal/UTKFactorySettingModalContentDisplay.cs.meta create mode 100644 Assets/Scripts/Factory/UIToolkit/Modal/UTKFactorySettingModalContentGeneral.cs create mode 100644 Assets/Scripts/Factory/UIToolkit/Modal/UTKFactorySettingModalContentGeneral.cs.meta create mode 100644 Assets/Scripts/Factory/UIToolkit/Modal/UTKFactorySettingModalContentInput.cs create mode 100644 Assets/Scripts/Factory/UIToolkit/Modal/UTKFactorySettingModalContentInput.cs.meta create mode 100644 Assets/Scripts/UVC/UIToolkit/List/UTKReordableTabList.cs create mode 100644 Assets/Scripts/UVC/UIToolkit/List/UTKReordableTabList.cs.meta delete mode 100644 Assets/Scripts/UVC/UIToolkit/Modal/Setting/UTKSettingDisplayInfoTabView.cs create mode 100644 Assets/Scripts/UVC/UIToolkit/Modal/UTKLoading.cs create mode 100644 Assets/Scripts/UVC/UIToolkit/Modal/UTKLoading.cs.meta create mode 100644 Assets/com.IvanMurzak.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Installer.Manifest.cs create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Installer.Manifest.cs.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Installer.cs create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Installer.cs.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/PackageExporter.cs create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/PackageExporter.cs.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/README.md create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/README.md.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/SimpleJSON.cs create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/SimpleJSON.cs.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/Correct.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/Correct/correct_manifest.json create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/Correct/correct_manifest.json.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/scopedregistries_empty_1.json create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/scopedregistries_empty_1.json.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/scopedregistries_empty_2.json create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/scopedregistries_empty_2.json.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/scopedregistries_gone.json create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/scopedregistries_gone.json.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/scopes_empty.json create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/scopes_empty.json.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/scopes_gone.json create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/scopes_gone.json.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/scopes_partial_1.json create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/scopes_partial_1.json.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/scopes_partial_2.json create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/scopes_partial_2.json.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/scopes_partial_3.json create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/scopes_partial_3.json.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/scopes_partial_4.json create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/scopes_partial_4.json.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/scopes_partial_5.json create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/Files/scopes_partial_5.json.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/ManifestInstallerTests.cs create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/ManifestInstallerTests.cs.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/VersionComparisonTests.cs create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/VersionComparisonTests.cs.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/com.IvanMurzak.Unity.MCP.Installer.Tests.asmdef create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/Tests/com.IvanMurzak.Unity.MCP.Installer.Tests.asmdef.meta create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/com.IvanMurzak.Unity.MCP.Installer.asmdef create mode 100644 Assets/com.IvanMurzak/AI Game Dev Installer/com.IvanMurzak.Unity.MCP.Installer.asmdef.meta diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 5195bc45..5aa75a2c 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -36,7 +36,8 @@ "Bash(/bin/rm:*)", "WebFetch(domain:docs.unity3d.com)", "Bash(ls:*)", - "WebFetch(domain:discussions.unity.com)" + "WebFetch(domain:discussions.unity.com)", + "mcp__ai-game-developer__screenshot-game-view" ], "deny": [], "ask": [] diff --git a/.mcp.json b/.mcp.json index 4b68a134..1d44ea42 100644 --- a/.mcp.json +++ b/.mcp.json @@ -1,8 +1,8 @@ { "mcpServers": { - "UnityMCP": { + "ai-game-developer": { "type": "http", - "url": "http://localhost:8080/mcp" + "url": "http://localhost:55726" } } } \ No newline at end of file diff --git a/Assets/Resources/AI-Game-Developer-Config.json b/Assets/Resources/AI-Game-Developer-Config.json new file mode 100644 index 00000000..2b3cf054 --- /dev/null +++ b/Assets/Resources/AI-Game-Developer-Config.json @@ -0,0 +1,423 @@ +{ + "logLevel": 3, + "keepServerRunning": true, + "transportMethod": 2, + "tools": [ + { + "name": "assets-copy", + "enabled": true + }, + { + "name": "assets-create-folder", + "enabled": true + }, + { + "name": "assets-delete", + "enabled": true + }, + { + "name": "assets-find", + "enabled": true + }, + { + "name": "assets-find-built-in", + "enabled": true + }, + { + "name": "assets-get-data", + "enabled": true + }, + { + "name": "assets-material-create", + "enabled": true + }, + { + "name": "assets-modify", + "enabled": true + }, + { + "name": "assets-move", + "enabled": true + }, + { + "name": "assets-refresh", + "enabled": true + }, + { + "name": "assets-prefab-close", + "enabled": true + }, + { + "name": "assets-prefab-create", + "enabled": true + }, + { + "name": "assets-prefab-instantiate", + "enabled": true + }, + { + "name": "assets-prefab-open", + "enabled": true + }, + { + "name": "assets-prefab-save", + "enabled": true + }, + { + "name": "assets-shader-list-all", + "enabled": true + }, + { + "name": "console-get-logs", + "enabled": true + }, + { + "name": "editor-application-get-state", + "enabled": true + }, + { + "name": "editor-application-set-state", + "enabled": true + }, + { + "name": "editor-selection-get", + "enabled": true + }, + { + "name": "editor-selection-set", + "enabled": true + }, + { + "name": "gameobject-component-add", + "enabled": true + }, + { + "name": "gameobject-component-destroy", + "enabled": true + }, + { + "name": "gameobject-component-get", + "enabled": true + }, + { + "name": "gameobject-component-list-all", + "enabled": true + }, + { + "name": "gameobject-component-modify", + "enabled": true + }, + { + "name": "gameobject-create", + "enabled": true + }, + { + "name": "gameobject-destroy", + "enabled": true + }, + { + "name": "gameobject-duplicate", + "enabled": true + }, + { + "name": "gameobject-find", + "enabled": true + }, + { + "name": "gameobject-modify", + "enabled": true + }, + { + "name": "gameobject-set-parent", + "enabled": true + }, + { + "name": "object-get-data", + "enabled": true + }, + { + "name": "object-modify", + "enabled": true + }, + { + "name": "package-add", + "enabled": true + }, + { + "name": "package-list", + "enabled": true + }, + { + "name": "package-remove", + "enabled": true + }, + { + "name": "package-search", + "enabled": true + }, + { + "name": "reflection-method-call", + "enabled": true + }, + { + "name": "reflection-method-find", + "enabled": true + }, + { + "name": "scene-create", + "enabled": true + }, + { + "name": "scene-get-data", + "enabled": true + }, + { + "name": "scene-list-opened", + "enabled": true + }, + { + "name": "scene-open", + "enabled": true + }, + { + "name": "scene-save", + "enabled": true + }, + { + "name": "scene-set-active", + "enabled": true + }, + { + "name": "scene-unload", + "enabled": true + }, + { + "name": "screenshot-camera", + "enabled": true + }, + { + "name": "screenshot-game-view", + "enabled": true + }, + { + "name": "screenshot-scene-view", + "enabled": true + }, + { + "name": "script-delete", + "enabled": true + }, + { + "name": "script-execute", + "enabled": true + }, + { + "name": "script-read", + "enabled": true + }, + { + "name": "script-update-or-create", + "enabled": true + }, + { + "name": "tests-run", + "enabled": true + } + ], + "prompts": [ + { + "name": "setup-animator-controller", + "enabled": true + }, + { + "name": "create-simple-tweening", + "enabled": true + }, + { + "name": "setup-timeline-sequence", + "enabled": true + }, + { + "name": "add-animation-events", + "enabled": true + }, + { + "name": "create-procedural-animation", + "enabled": true + }, + { + "name": "setup-sprite-animation", + "enabled": true + }, + { + "name": "add-ik-system", + "enabled": true + }, + { + "name": "create-animation-blending", + "enabled": true + }, + { + "name": "organize-project-structure", + "enabled": true + }, + { + "name": "import-setup-sprites", + "enabled": true + }, + { + "name": "setup-audio-manager", + "enabled": true + }, + { + "name": "configure-build-settings", + "enabled": true + }, + { + "name": "create-material-library", + "enabled": true + }, + { + "name": "setup-asset-bundles", + "enabled": true + }, + { + "name": "optimize-texture-settings", + "enabled": true + }, + { + "name": "setup-addressables", + "enabled": true + }, + { + "name": "add-debug-visualization", + "enabled": true + }, + { + "name": "setup-performance-profiling", + "enabled": true + }, + { + "name": "create-test-scene", + "enabled": true + }, + { + "name": "add-logging-system", + "enabled": true + }, + { + "name": "create-unit-tests", + "enabled": true + }, + { + "name": "setup-debug-ui", + "enabled": true + }, + { + "name": "add-assertion-checks", + "enabled": true + }, + { + "name": "create-automated-tests", + "enabled": true + }, + { + "name": "add-standard-components", + "enabled": true + }, + { + "name": "setup-player-controller", + "enabled": true + }, + { + "name": "create-ui-canvas", + "enabled": true + }, + { + "name": "add-physics-interactions", + "enabled": true + }, + { + "name": "create-interactive-object", + "enabled": true + }, + { + "name": "setup-audio-source", + "enabled": true + }, + { + "name": "create-particle-effects", + "enabled": true + }, + { + "name": "setup-animator-component", + "enabled": true + }, + { + "name": "setup-basic-scene", + "enabled": true + }, + { + "name": "organize-scene-hierarchy", + "enabled": true + }, + { + "name": "add-lighting-setup", + "enabled": true + }, + { + "name": "create-prefab-from-selection", + "enabled": true + }, + { + "name": "setup-scene-camera", + "enabled": true + }, + { + "name": "create-environment-template", + "enabled": true + }, + { + "name": "generate-monobehaviour-template", + "enabled": true + }, + { + "name": "add-event-system", + "enabled": true + }, + { + "name": "create-singleton-manager", + "enabled": true + }, + { + "name": "setup-coroutine-framework", + "enabled": true + }, + { + "name": "create-scriptableobject-data", + "enabled": true + }, + { + "name": "implement-object-pooling", + "enabled": true + }, + { + "name": "add-state-machine", + "enabled": true + }, + { + "name": "setup-dependency-injection", + "enabled": true + } + ], + "resources": [ + { + "name": "GameObject from Current Scene by Path", + "enabled": true + } + ], + "host": "http://localhost:55726", + "timeoutMs": 10000, + "keepConnected": true, + "token": null +} \ No newline at end of file diff --git a/Assets/Resources/AI-Game-Developer-Config.json.meta b/Assets/Resources/AI-Game-Developer-Config.json.meta new file mode 100644 index 00000000..ad966754 --- /dev/null +++ b/Assets/Resources/AI-Game-Developer-Config.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5ecf6949f73508f49ba3a0633329a219 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Factory/Prefabs/Tab/TabContentComponentList.prefab b/Assets/Resources/Factory/Prefabs/Tab/TabContentComponentList.prefab index d39d7b5c..e411e08a 100644 --- a/Assets/Resources/Factory/Prefabs/Tab/TabContentComponentList.prefab +++ b/Assets/Resources/Factory/Prefabs/Tab/TabContentComponentList.prefab @@ -139,7 +139,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -12, y: -1} + m_AnchoredPosition: {x: -20, y: -1} m_SizeDelta: {x: 22, y: 22} m_Pivot: {x: 1, y: 1} --- !u!222 &5485997075992529675 @@ -246,7 +246,7 @@ PrefabInstance: m_Modifications: - target: {fileID: 1375483911066562825, guid: 963f47de712c3844183989c7fc7fbd8a, type: 3} propertyPath: m_SizeDelta.x - value: 238 + value: -65 objectReference: {fileID: 0} - target: {fileID: 5097404189591199700, guid: 963f47de712c3844183989c7fc7fbd8a, type: 3} propertyPath: m_AnchorMax.x diff --git a/Assets/Resources/UIToolkit/Modal/Setting.meta b/Assets/Resources/Factory/UIToolkit.meta similarity index 77% rename from Assets/Resources/UIToolkit/Modal/Setting.meta rename to Assets/Resources/Factory/UIToolkit.meta index 113b6910..dd3dc108 100644 --- a/Assets/Resources/UIToolkit/Modal/Setting.meta +++ b/Assets/Resources/Factory/UIToolkit.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 62b1c6b38fe308748b808fb2b576e6e2 +guid: 35623d99e7e18de4c9218b9878efaac6 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Scripts/UVC/UIToolkit/Modal/Setting.meta b/Assets/Resources/Factory/UIToolkit/Modal.meta similarity index 77% rename from Assets/Scripts/UVC/UIToolkit/Modal/Setting.meta rename to Assets/Resources/Factory/UIToolkit/Modal.meta index e000bedb..634e2b5a 100644 --- a/Assets/Scripts/UVC/UIToolkit/Modal/Setting.meta +++ b/Assets/Resources/Factory/UIToolkit/Modal.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 9210d67d228d2814eb32cc841227db5b +guid: 9ffd6459fed612148ac685b6329657a1 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentAlarmUXML.uxml b/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentAlarmUXML.uxml new file mode 100644 index 00000000..b4408e3d --- /dev/null +++ b/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentAlarmUXML.uxml @@ -0,0 +1,5 @@ + + + + + diff --git a/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentAlarmUXML.uxml.meta b/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentAlarmUXML.uxml.meta new file mode 100644 index 00000000..5cffaf0d --- /dev/null +++ b/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentAlarmUXML.uxml.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 92f820b7de9d43c428503b7c574c9e69 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0} diff --git a/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentDisplayUXML.uxml b/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentDisplayUXML.uxml new file mode 100644 index 00000000..aae0b7b8 --- /dev/null +++ b/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentDisplayUXML.uxml @@ -0,0 +1,5 @@ + + + + + diff --git a/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentDisplayUXML.uxml.meta b/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentDisplayUXML.uxml.meta new file mode 100644 index 00000000..da394c8a --- /dev/null +++ b/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentDisplayUXML.uxml.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: db6157353e844a84fabf731aed504f56 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0} diff --git a/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentGeneralUXML.uxml b/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentGeneralUXML.uxml new file mode 100644 index 00000000..64bd8d64 --- /dev/null +++ b/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentGeneralUXML.uxml @@ -0,0 +1,5 @@ + + + + + diff --git a/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentGeneralUXML.uxml.meta b/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentGeneralUXML.uxml.meta new file mode 100644 index 00000000..037ca074 --- /dev/null +++ b/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentGeneralUXML.uxml.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 7b805d40178aceb48b21275834afbb24 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0} diff --git a/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentInputUXML.uxml b/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentInputUXML.uxml new file mode 100644 index 00000000..075dbfb3 --- /dev/null +++ b/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentInputUXML.uxml @@ -0,0 +1,5 @@ + + + + + diff --git a/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentInputUXML.uxml.meta b/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentInputUXML.uxml.meta new file mode 100644 index 00000000..f4f82a65 --- /dev/null +++ b/Assets/Resources/Factory/UIToolkit/Modal/UTKFactorySettingModalContentInputUXML.uxml.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 5224fd32ba226a340aaac4e6dc070861 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0} diff --git a/Assets/Resources/UIToolkit/List/UTKReordableTabListUss.uss b/Assets/Resources/UIToolkit/List/UTKReordableTabListUss.uss new file mode 100644 index 00000000..ca3e5ce9 --- /dev/null +++ b/Assets/Resources/UIToolkit/List/UTKReordableTabListUss.uss @@ -0,0 +1,68 @@ +/* + * =================================== + * UTKReordableTabListUss.uss + * 탭 기반 재정렬 가능 리스트 스타일 + * =================================== + */ + +/* =================================== + Base Container + =================================== */ + +.reordable-tab-list { + flex-grow: 1; + padding: 8px; + background-color: var(--color-bg-secondary); + border-radius: var(--radius-s); + border-width: var(--border-width); + border-color: var(--color-border); +} + +/* =================================== + TabView 내부 스타일 오버라이드 + 외부 utk-tabview--align-left 등 align 클래스가 + descendant selector로 내부 TabView에 영향을 주지 않도록 리셋 + =================================== */ + +.reordable-tab-list > .utk-tabview { + flex-grow: 1; + flex-direction: column; +} + +.reordable-tab-list > .utk-tabview > .unity-tab-view__header-container { + flex-direction: row; + border-right-width: 0; + border-top-width: 0; + border-left-width: 0; + border-bottom-width: var(--border-width); + border-bottom-color: var(--color-border); +} + +.reordable-tab-list > .utk-tabview > .unity-tab-view__content-container { + padding: 0; +} + +.reordable-tab-list > .utk-tabview .unity-tab__header { + margin-right: var(--space-s); + margin-bottom: 0; + position: relative; +} + +.reordable-tab-list > .utk-tabview .unity-tab__header-underline { + left: 0; + right: 0; + bottom: 0; + top: auto; + width: auto; + height: 2px; +} + +/* =================================== + 탭 콘텐츠 내부 ReordableList 스타일 오버라이드 + =================================== */ + +.reordable-tab-list .reordable-list { + border-width: 0; + border-radius: 0; + background-color: transparent; +} diff --git a/Assets/Resources/UIToolkit/Modal/Setting/UTKSettingDisplayInfoTabViewUss.uss.meta b/Assets/Resources/UIToolkit/List/UTKReordableTabListUss.uss.meta similarity index 87% rename from Assets/Resources/UIToolkit/Modal/Setting/UTKSettingDisplayInfoTabViewUss.uss.meta rename to Assets/Resources/UIToolkit/List/UTKReordableTabListUss.uss.meta index 6173d6c3..d67ec83b 100644 --- a/Assets/Resources/UIToolkit/Modal/Setting/UTKSettingDisplayInfoTabViewUss.uss.meta +++ b/Assets/Resources/UIToolkit/List/UTKReordableTabListUss.uss.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 360ccda715f15bc479dec409d0ed87cf +guid: 5e72692fcb817e14e8fbcaaf9b4f6b17 ScriptedImporter: internalIDToNameTable: [] externalObjects: {} diff --git a/Assets/Resources/UIToolkit/Modal/Setting/UTKSettingDisplayInfoTabViewUss.uss b/Assets/Resources/UIToolkit/Modal/Setting/UTKSettingDisplayInfoTabViewUss.uss deleted file mode 100644 index 02a100cb..00000000 --- a/Assets/Resources/UIToolkit/Modal/Setting/UTKSettingDisplayInfoTabViewUss.uss +++ /dev/null @@ -1,47 +0,0 @@ -/* - * =================================== - * UTKSettingDisplayInfoTabViewUss.uss - * 설정 표시 정보 탭 뷰 컨테이너 스타일 - * =================================== - */ - -/* =================================== - Base Container - =================================== */ - -.setting-display-tab-view { - flex-grow: 1; - background-color: var(--color-bg-secondary); - border-radius: var(--radius-s); - border-width: var(--border-width); - border-color: var(--color-border); -} - -/* =================================== - ListView 내부 여백 조정 - =================================== */ - -.setting-display-tab-view .utk-listview { - flex-grow: 1; - border-width: 0; - border-radius: 0; - background-color: transparent; -} - -/* =================================== - 드래그 중 아이템 스타일 (Unity 내장 클래스) - =================================== */ - -.setting-display-tab-view .unity-list-view__reorderable-item__container { - flex-direction: row; - align-items: center; -} - -/* =================================== - 드래그 핸들 바 (Unity 내장 reorder handle) - 커스텀 드래그 핸들 사용하므로 기본 숨김 - =================================== */ - -.setting-display-tab-view .unity-list-view__reorderable-handle-bar { - display: none; -} diff --git a/Assets/Resources/UIToolkit/Modal/UTKLoadingUss.uss b/Assets/Resources/UIToolkit/Modal/UTKLoadingUss.uss new file mode 100644 index 00000000..925f6b9c --- /dev/null +++ b/Assets/Resources/UIToolkit/Modal/UTKLoadingUss.uss @@ -0,0 +1,16 @@ +/* + * =================================== + * UTKLoadingUss.uss + * 회전 로딩 스피너 스타일 + * =================================== + * + * 색상은 C#에서 CustomStyleResolvedEvent로 --color-primary 값을 읽어 처리합니다. + * 두께/크기는 C# 속성(Thickness, Size) 또는 UXML 태그(thickness, size)로 설정하세요. + */ + +.utk-loading { + align-items: center; + justify-content: center; + flex-shrink: 0; + overflow: hidden; +} diff --git a/Assets/Resources/UIToolkit/Modal/UTKLoadingUss.uss.meta b/Assets/Resources/UIToolkit/Modal/UTKLoadingUss.uss.meta new file mode 100644 index 00000000..774739d3 --- /dev/null +++ b/Assets/Resources/UIToolkit/Modal/UTKLoadingUss.uss.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 21b7e91639030834c94d38263ad773ae +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} + disableValidation: 0 diff --git a/Assets/Resources/UIToolkit/Sample/List/UTKReordableListSample.uxml b/Assets/Resources/UIToolkit/Sample/List/UTKReordableListSample.uxml new file mode 100644 index 00000000..3523d296 --- /dev/null +++ b/Assets/Resources/UIToolkit/Sample/List/UTKReordableListSample.uxml @@ -0,0 +1,20 @@ + + +