From 879f1e49b82419ced81f7b96184c567c954a6919 Mon Sep 17 00:00:00 2001 From: SoulliesOfficial Date: Wed, 8 Jul 2026 04:28:51 -0400 Subject: [PATCH] RegularGridFloor --- AGENTS.md | 13 + Assets/Assets.sln.meta | 7 - Assets/FR2_Cache.asset | 670 +++++++++++++++++- Assets/NLayer/NLayer.csproj.meta | 7 - .../Environment/DTM_RegularGridFloor.prefab | 15 +- .../Environment/DTMRegularGridFloor_BM.cs | 64 ++ .../DTMRegularGridFloor_BM.cs.meta | 2 + .../Environment/DTMRegularGridFloor_Editor.cs | 39 + .../DTMRegularGridFloor_Editor.cs.meta | 2 + .../Environment/DTMRegularGridFloor.cs | 112 +++ .../Environment/DTMRegularGridFloor.cs.meta | 2 + ...ni-official-creatorstudio-technical-map.md | 14 + 12 files changed, 908 insertions(+), 39 deletions(-) create mode 100644 AGENTS.md delete mode 100644 Assets/Assets.sln.meta delete mode 100644 Assets/NLayer/NLayer.csproj.meta create mode 100644 Assets/ThemeBundles/DepartureToMultiverse/Scripts/DataCore/Environment/DTMRegularGridFloor_BM.cs create mode 100644 Assets/ThemeBundles/DepartureToMultiverse/Scripts/DataCore/Environment/DTMRegularGridFloor_BM.cs.meta create mode 100644 Assets/ThemeBundles/DepartureToMultiverse/Scripts/EditorCore/Environment/DTMRegularGridFloor_Editor.cs create mode 100644 Assets/ThemeBundles/DepartureToMultiverse/Scripts/EditorCore/Environment/DTMRegularGridFloor_Editor.cs.meta create mode 100644 Assets/ThemeBundles/DepartureToMultiverse/Scripts/RuntimeCore/Environment/DTMRegularGridFloor.cs create mode 100644 Assets/ThemeBundles/DepartureToMultiverse/Scripts/RuntimeCore/Environment/DTMRegularGridFloor.cs.meta create mode 100644 docs/ichni-official-creatorstudio-technical-map.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 00000000..9d1809b0 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,13 @@ +# Ichni Workspace Agent Standards + +本文件记录 `ichni Official` 工作区的永久工作标准。除非用户明确要求修改工作标准,否则所有后续工作都必须继续遵守本文件。 + +1. 本工作区内的所有项目均遵循统一的编码规范。 +2. 文档及共享资源应供所有工作区成员查阅。 +3. `ichni Official` 是游戏本体项目;`ichniCreatorStudio` 位于 `D:\Projects\IchniCreatorStudio`,是游戏的关卡编辑器。二者遵循相似的项目结构和脚本结构,并共享序列化存档类。类名后缀为 `_BM` 的类称为 `BM` 类。 +4. 当用户要求编写新的游戏元素,也就是继承自 `BaseElement` 的元素,或修改现有游戏元素脚本时,如果条件允许,需要同时在 `ichni Official` 和 `ichniCreatorStudio` 中编写或修改适合对应项目的脚本,并向用户提醒跨项目同步情况。 +5. `ichni Official` 使用 `Wwise 2024.1.9.8920` 作为音频中间件。 +6. `ichniCreatorStudio` 因为需要自定义音频加载,使用 Unity 原生音频。 +7. `ichni Official` 使用 `Yarn Spinner` 制作游戏剧情。允许修改和扩展 `Yarn Spinner`。 +8. 回复用户时使用简体中文。代码、关键词、API 名称、类名、路径、特殊术语等需要使用英文时,应保留英文。 + diff --git a/Assets/Assets.sln.meta b/Assets/Assets.sln.meta deleted file mode 100644 index 2aff0f81..00000000 --- a/Assets/Assets.sln.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 28802a2f6f0ff2942bd2a248b9b68960 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/FR2_Cache.asset b/Assets/FR2_Cache.asset index a483043f..c3070814 100644 --- a/Assets/FR2_Cache.asset +++ b/Assets/FR2_Cache.asset @@ -47127,22 +47127,22 @@ MonoBehaviour: ids: 73000000 - guid: d24cf12e546db584d9630b52b904edeb type: 5 - m_fileInfoHash: 4150.prefab + m_fileInfoHash: 4448.prefab m_assetbundle: departure_to_multiverse m_addressable: m_atlas: - m_fileSize: 4150 - m_assetChangeTS: 0 - m_fileInfoReadTS: 1783088708 - m_fileWriteTS: 1782849565 - m_cachefileWriteTS: 1782849565 + m_fileSize: 4448 + m_assetChangeTS: 1783499252 + m_fileInfoReadTS: 1783499270 + m_fileWriteTS: 1783499037 + m_cachefileWriteTS: 1783499037 refreshStamp: 2 UseGUIDsList: - guid: 0000000000000000e000000000000000 ids: 00000000 - guid: 930551a6a10f67a4b85d497cd859666b ids: 15000000 - - guid: b73aa7982dc9e4261b2ff45db0112d48 + - guid: 8fe763000f430ea498bfc8d7883bda31 ids: 73000000 - guid: d29ceac7c5137ce448ed2c50bd46467c type: 9 @@ -58640,10 +58640,10 @@ MonoBehaviour: m_addressable: m_atlas: m_fileSize: 1684 - m_assetChangeTS: 0 - m_fileInfoReadTS: 1783088703 - m_fileWriteTS: 1775128881 - m_cachefileWriteTS: 1775128881 + m_assetChangeTS: 1783493622 + m_fileInfoReadTS: 1783499270 + m_fileWriteTS: 1783493622 + m_cachefileWriteTS: 1783493622 refreshStamp: 2 UseGUIDsList: - guid: d0353a89b1f911e48b9e16bdc9f2e058 @@ -263035,30 +263035,654 @@ MonoBehaviour: m_cachefileWriteTS: 1783314132 refreshStamp: 2 UseGUIDsList: [] - - guid: 28802a2f6f0ff2942bd2a248b9b68960 + - guid: 0023a0858ba124646a55dfcb7231ed46 type: 9 - m_fileInfoHash: 1113.sln + m_fileInfoHash: 369874.unitypackage m_assetbundle: m_addressable: m_atlas: - m_fileSize: 1113 + m_fileSize: 369874 m_assetChangeTS: 0 - m_fileInfoReadTS: 1783395217 - m_fileWriteTS: 1783395170 - m_cachefileWriteTS: 1783395170 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322241 + m_cachefileWriteTS: 1756322241 refreshStamp: 2 UseGUIDsList: [] - - guid: 88f0993afef43b34eb23a79fbdd94e9b + - guid: 70777e8ce9f3c8d4a8182ca2f965cdb2 type: 9 - m_fileInfoHash: 722.csproj + m_fileInfoHash: 108227.unitypackage m_assetbundle: m_addressable: m_atlas: - m_fileSize: 722 + m_fileSize: 108227 m_assetChangeTS: 0 - m_fileInfoReadTS: 1783395217 - m_fileWriteTS: 1783395170 - m_cachefileWriteTS: 1783395170 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322398 + m_cachefileWriteTS: 1756322398 + refreshStamp: 2 + UseGUIDsList: [] + - guid: c0a0a980c9ba86345bc15411db88d34f + type: 9 + m_fileInfoHash: 45767503.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 45767503 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322510 + m_cachefileWriteTS: 1756322510 + refreshStamp: 2 + UseGUIDsList: [] + - guid: e00e6f90ab8233e46a41c5e33917c642 + type: 9 + m_fileInfoHash: 557844.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 557844 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322554 + m_cachefileWriteTS: 1756322554 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 0190b8bde50f12943926613d9a63c89a + type: 9 + m_fileInfoHash: 269031.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 269031 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1757349462 + m_cachefileWriteTS: 1757349462 + refreshStamp: 2 + UseGUIDsList: [] + - guid: d1c0b77896049554fa4b635531caf741 + type: 9 + m_fileInfoHash: 3185682.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 3185682 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322536 + m_cachefileWriteTS: 1756322536 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 2243c8b4e1ab6914995699133f67ab5a + type: 9 + m_fileInfoHash: 84545.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 84545 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322282 + m_cachefileWriteTS: 1756322282 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 929783250050f8a448821b6ca1f2c578 + type: 9 + m_fileInfoHash: 41699.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 41699 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322450 + m_cachefileWriteTS: 1756322450 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 13ab599a7bda4e54fba3e92a13c9580a + type: 9 + m_fileInfoHash: 79965.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 79965 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322264 + m_cachefileWriteTS: 1756322264 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 641c955d37d2fac4f87e00ac5c9d9bd8 + type: 9 + m_fileInfoHash: 360203.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 360203 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322382 + m_cachefileWriteTS: 1756322382 + refreshStamp: 2 + UseGUIDsList: [] + - guid: b460b52e6c1feae45b70b7ddc2c45bd6 + type: 9 + m_fileInfoHash: 23184.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 23184 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322489 + m_cachefileWriteTS: 1756322489 + refreshStamp: 2 + UseGUIDsList: [] + - guid: e447b3d7d913d694ca35f74e30581840 + type: 9 + m_fileInfoHash: 277741.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 277741 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1757349504 + m_cachefileWriteTS: 1757349504 + refreshStamp: 2 + UseGUIDsList: [] + - guid: f4990f6ace6142c4bbbf41cdd80b0bd3 + type: 9 + m_fileInfoHash: 45519.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 45519 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322580 + m_cachefileWriteTS: 1756322580 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 3579d9cf4b75c564faa8fffc58a9f3f6 + type: 9 + m_fileInfoHash: 369778.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 369778 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322310 + m_cachefileWriteTS: 1756322310 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 6584a66582083a1459dcf5e4e87f6d62 + type: 9 + m_fileInfoHash: 268546.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 268546 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1757349478 + m_cachefileWriteTS: 1757349478 + refreshStamp: 2 + UseGUIDsList: [] + - guid: c5303861611f41c438a30be552da5de4 + type: 9 + m_fileInfoHash: 91198.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 91198 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322515 + m_cachefileWriteTS: 1756322515 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 2690f45490c175045bbdc63395bf6278 + type: 9 + m_fileInfoHash: 365438.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 365438 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322286 + m_cachefileWriteTS: 1756322286 + refreshStamp: 2 + UseGUIDsList: [] + - guid: d69745226619e3241a8e04ce86aee6a6 + type: 9 + m_fileInfoHash: 269026.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 269026 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1757349499 + m_cachefileWriteTS: 1757349499 + refreshStamp: 2 + UseGUIDsList: [] + - guid: e6fc8948257acee42b666d0bfe1d782c + type: 9 + m_fileInfoHash: 110636.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 110636 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322563 + m_cachefileWriteTS: 1756322563 + refreshStamp: 2 + UseGUIDsList: [] + - guid: f6f268949ccf3f34fa4d18e92501ed82 + type: 9 + m_fileInfoHash: 83402.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 83402 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322585 + m_cachefileWriteTS: 1756322585 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 1782b72cd0e99a54fac09382c482e3db + type: 9 + m_fileInfoHash: 254618.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 254618 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1757349467 + m_cachefileWriteTS: 1757349467 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 37e6a9374416bc946a55779c58d0d984 + type: 9 + m_fileInfoHash: 269191.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 269191 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1757349472 + m_cachefileWriteTS: 1757349472 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 57fcea0ed8b5eb347923c4c21fa31b57 + type: 9 + m_fileInfoHash: 38182.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 38182 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322361 + m_cachefileWriteTS: 1756322361 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 0904cdf24ddcd5042b024326476220d5 + type: 9 + m_fileInfoHash: 40611.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 40611 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322254 + m_cachefileWriteTS: 1756322254 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 19939ee2cdb76e0489b1b8cd4bed7f3d + type: 9 + m_fileInfoHash: 108414.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 108414 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322272 + m_cachefileWriteTS: 1756322272 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 49d5bcbbd4cbd754b98cf3200197b0f1 + type: 9 + m_fileInfoHash: 267725.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 267725 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1757349474 + m_cachefileWriteTS: 1757349474 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 69bc3229216b1504ea3e28b5820bbb0d + type: 9 + m_fileInfoHash: 83642.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 83642 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322387 + m_cachefileWriteTS: 1756322387 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 89f0b84148d149d4d96b838d7ef60e92 + type: 9 + m_fileInfoHash: 106917.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 106917 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322438 + m_cachefileWriteTS: 1756322438 + refreshStamp: 2 + UseGUIDsList: [] + - guid: a9d68dd8913f05d4d9ce75e7b40c6044 + type: 9 + m_fileInfoHash: 172686.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 172686 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322476 + m_cachefileWriteTS: 1756322476 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 7a0bb33169d95ec499136d59cb25918b + type: 9 + m_fileInfoHash: 356286.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 356286 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322413 + m_cachefileWriteTS: 1756322413 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 8a87ed432fe2d97498c0de5fae312e35 + type: 9 + m_fileInfoHash: 90924.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 90924 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322439 + m_cachefileWriteTS: 1756322439 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 9a5e61a8b3421b944863d0946e32da0a + type: 9 + m_fileInfoHash: 104671.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 104671 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322459 + m_cachefileWriteTS: 1756322459 + refreshStamp: 2 + UseGUIDsList: [] + - guid: aa102d640b98b5d4781710a3a3dd6983 + type: 9 + m_fileInfoHash: 325098.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 325098 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322476 + m_cachefileWriteTS: 1756322476 + refreshStamp: 2 + UseGUIDsList: [] + - guid: ba281a1a00c8ac54c914e0763299f637 + type: 9 + m_fileInfoHash: 110423.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 110423 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322497 + m_cachefileWriteTS: 1756322497 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 4b5cb8698f2d9c14fadf8e2383441d37 + type: 9 + m_fileInfoHash: 110653.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 110653 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322337 + m_cachefileWriteTS: 1756322337 + refreshStamp: 2 + UseGUIDsList: [] + - guid: fbd1fd9b3a70fad429d1eaaa5799c2a5 + type: 9 + m_fileInfoHash: 368597.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 368597 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322592 + m_cachefileWriteTS: 1756322592 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 7c3bfbbeb9427b94099254e2e2768ad4 + type: 9 + m_fileInfoHash: 91311.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 91311 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322416 + m_cachefileWriteTS: 1756322416 + refreshStamp: 2 + UseGUIDsList: [] + - guid: ec984c51d4ae2504184eeb292734c672 + type: 9 + m_fileInfoHash: 277492.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 277492 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1757349506 + m_cachefileWriteTS: 1757349506 + refreshStamp: 2 + UseGUIDsList: [] + - guid: fcc4d2eb0af82e546ae75506872cf092 + type: 9 + m_fileInfoHash: 45140.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 45140 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322593 + m_cachefileWriteTS: 1756322593 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 9da5530d5ebfab24c8ecad68795e720f + type: 9 + m_fileInfoHash: 304772.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 304772 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322462 + m_cachefileWriteTS: 1756322462 + refreshStamp: 2 + UseGUIDsList: [] + - guid: cd0a0171c5157b748afe763b89f71211 + type: 9 + m_fileInfoHash: 45572.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 45572 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322529 + m_cachefileWriteTS: 1756322529 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 2e995dfe11e22d34d92432383d15c067 + type: 9 + m_fileInfoHash: 277670.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 277670 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1757349470 + m_cachefileWriteTS: 1757349470 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 2edbf4a9b9544774bbef617e92429664 + type: 9 + m_fileInfoHash: 68647.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 68647 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322300 + m_cachefileWriteTS: 1756322300 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 2e9da72e7e3196146bf7d27450013734 + type: 9 + m_fileInfoHash: 41701.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 41701 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322300 + m_cachefileWriteTS: 1756322300 + refreshStamp: 2 + UseGUIDsList: [] + - guid: ae2ce8ad295486349839288636aed1ed + type: 9 + m_fileInfoHash: 269169.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 269169 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1757349491 + m_cachefileWriteTS: 1757349491 + refreshStamp: 2 + UseGUIDsList: [] + - guid: eefe45a405f061045be947217e30ed10 + type: 9 + m_fileInfoHash: 267843.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 267843 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1757349506 + m_cachefileWriteTS: 1757349506 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 4f665a06c5a2aa5499fa1c79ac058999 + type: 9 + m_fileInfoHash: 83956.unitypackage + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 83956 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783493384 + m_fileWriteTS: 1756322344 + m_cachefileWriteTS: 1756322344 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 8fe763000f430ea498bfc8d7883bda31 + type: 2 + m_fileInfoHash: 4121.cs + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 4121 + m_assetChangeTS: 1783499252 + m_fileInfoReadTS: 1783499270 + m_fileWriteTS: 1783499031 + m_cachefileWriteTS: 1783499031 + refreshStamp: 2 + UseGUIDsList: [] + - guid: 09450fa65de643d9bb82781245aeca51 + type: 2 + m_fileInfoHash: 2616.cs + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 2616 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783499270 + m_fileWriteTS: 1783499033 + m_cachefileWriteTS: 1783499033 + refreshStamp: 2 + UseGUIDsList: [] + - guid: a5d1dc0749334cf6ac0c25191271bc22 + type: 2 + m_fileInfoHash: 2082.cs + m_assetbundle: + m_addressable: + m_atlas: + m_fileSize: 2082 + m_assetChangeTS: 0 + m_fileInfoReadTS: 1783499270 + m_fileWriteTS: 1783499035 + m_cachefileWriteTS: 1783499035 refreshStamp: 2 UseGUIDsList: [] setting: diff --git a/Assets/NLayer/NLayer.csproj.meta b/Assets/NLayer/NLayer.csproj.meta deleted file mode 100644 index 4b6b01c4..00000000 --- a/Assets/NLayer/NLayer.csproj.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 88f0993afef43b34eb23a79fbdd94e9b -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Environment/DTM_RegularGridFloor.prefab b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Environment/DTM_RegularGridFloor.prefab index 35159774..051ec17d 100644 --- a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Environment/DTM_RegularGridFloor.prefab +++ b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Environment/DTM_RegularGridFloor.prefab @@ -100,9 +100,9 @@ MonoBehaviour: m_GameObject: {fileID: 8220859051912764878} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b73aa7982dc9e4261b2ff45db0112d48, type: 3} + m_Script: {fileID: 11500000, guid: 8fe763000f430ea498bfc8d7883bda31, type: 3} m_Name: - m_EditorClassIdentifier: Assembly-CSharp::Ichni.RhythmGame.EnvironmentObject + m_EditorClassIdentifier: Assembly-CSharp::Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.DTMRegularGridFloor serializationData: SerializedFormat: 2 SerializedBytes: @@ -142,3 +142,14 @@ MonoBehaviour: themeBundleName: objectName: isStatic: 0 + gridSizeX: 100 + gridSizeY: 100 + gridDensity: 1 + lineThickness: 0.05 + edgeSoftness: 0 + moveVectorX: 0 + moveVectorY: 0 + enableOuterBorder: 1 + outerBorderColor: {r: 1, g: 1, b: 1, a: 1} + outerBorderWidth: 0.005 + meshRenderer: {fileID: 8033154349789972278} diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Scripts/DataCore/Environment/DTMRegularGridFloor_BM.cs b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/DataCore/Environment/DTMRegularGridFloor_BM.cs new file mode 100644 index 00000000..d8bb625a --- /dev/null +++ b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/DataCore/Environment/DTMRegularGridFloor_BM.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using Ichni.RhythmGame.Beatmap; +using UnityEngine; + +namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap +{ + [System.Serializable] + public class DTMRegularGridFloor_BM : EnvironmentObject_BM + { + public float gridSizeX = 100f; + public float gridSizeY = 100f; + public float gridDensity = 1f; + public float lineThickness = 0.05f; + public float edgeSoftness; + public float moveVectorX; + public float moveVectorY; + + public bool enableOuterBorder = true; + public float outerBorderColorR = 1f; + public float outerBorderColorG = 1f; + public float outerBorderColorB = 1f; + public float outerBorderColorA = 1f; + public float outerBorderWidth = 0.005f; + + public DTMRegularGridFloor_BM() + { + } + + public DTMRegularGridFloor_BM(string elementName, Guid elementGuid, List tags, GameElement_BM attachedElement, + string themeBundleName, string objectName, bool isStatic, + float gridSizeX, float gridSizeY, float gridDensity, + float lineThickness, float edgeSoftness, float moveVectorX, float moveVectorY, + bool enableOuterBorder, Color outerColor, float outerBorderWidth) + : base(elementName, elementGuid, tags, attachedElement, themeBundleName, objectName, isStatic) + { + this.gridSizeX = gridSizeX; + this.gridSizeY = gridSizeY; + this.gridDensity = gridDensity; + this.lineThickness = lineThickness; + this.edgeSoftness = edgeSoftness; + this.moveVectorX = moveVectorX; + this.moveVectorY = moveVectorY; + + this.enableOuterBorder = enableOuterBorder; + this.outerBorderColorR = outerColor.r; + this.outerBorderColorG = outerColor.g; + this.outerBorderColorB = outerColor.b; + this.outerBorderColorA = outerColor.a; + this.outerBorderWidth = outerBorderWidth; + } + + public override void ExecuteBM() + { + Color outerColor = new Color(outerBorderColorR, outerBorderColorG, outerBorderColorB, outerBorderColorA); + + matchedElement = DTMRegularGridFloor.GenerateElement(elementName, elementGuid, tags, false, + themeBundleName, objectName, GetElement(attachedElementGuid), isStatic, + gridSizeX, gridSizeY, gridDensity, + lineThickness, edgeSoftness, moveVectorX, moveVectorY, + enableOuterBorder, outerColor, outerBorderWidth); + } + } +} diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Scripts/DataCore/Environment/DTMRegularGridFloor_BM.cs.meta b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/DataCore/Environment/DTMRegularGridFloor_BM.cs.meta new file mode 100644 index 00000000..62d054cf --- /dev/null +++ b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/DataCore/Environment/DTMRegularGridFloor_BM.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 09450fa65de643d9bb82781245aeca51 diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Scripts/EditorCore/Environment/DTMRegularGridFloor_Editor.cs b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/EditorCore/Environment/DTMRegularGridFloor_Editor.cs new file mode 100644 index 00000000..ef23a5c0 --- /dev/null +++ b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/EditorCore/Environment/DTMRegularGridFloor_Editor.cs @@ -0,0 +1,39 @@ +using Ichni.Editor; +using Ichni.RhythmGame.Beatmap; +using Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse.Beatmap; + +namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse +{ + public partial class DTMRegularGridFloor + { + #region [Editor] Inspection & Save + public override void SaveBM() + { + matchedBM = new DTMRegularGridFloor_BM(elementName, elementGuid, tags, parentElement.matchedBM as GameElement_BM, + themeBundleName, objectName, isStatic, + gridSizeX, gridSizeY, gridDensity, + lineThickness, edgeSoftness, moveVectorX, moveVectorY, + enableOuterBorder, outerBorderColor, outerBorderWidth); + } + + public override void SetUpInspector() + { + base.SetUpInspector(); + + InspectorBuilder.For(this) + .Section("DTMRegularGridFloor") + .Slider(nameof(gridSizeX), 1, 500, "Grid Size X").OnChanged(UpdateMaterialProperties) + .Slider(nameof(gridSizeY), 1, 500, "Grid Size Y").OnChanged(UpdateMaterialProperties) + .Slider(nameof(gridDensity), 0.1f, 10, "Grid Density").OnChanged(UpdateMaterialProperties) + .Slider(nameof(lineThickness), 0.001f, 0.5f, "Line Thickness").OnChanged(UpdateMaterialProperties) + .Slider(nameof(edgeSoftness), 0, 0.5f, "Edge Softness").OnChanged(UpdateMaterialProperties) + .Slider(nameof(moveVectorX), -10, 10, "Move Vector X").OnChanged(UpdateMaterialProperties) + .Slider(nameof(moveVectorY), -10, 10, "Move Vector Y").OnChanged(UpdateMaterialProperties) + .Toggle(nameof(enableOuterBorder), "Enable Outer Border").OnChanged(UpdateMaterialProperties) + .ColorPicker(nameof(outerBorderColor), "Outer Border Color").OnChanged(UpdateMaterialProperties) + .Slider(nameof(outerBorderWidth), 0, 0.5f, "Outer Border Width").OnChanged(UpdateMaterialProperties) + .Build(); + } + #endregion + } +} diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Scripts/EditorCore/Environment/DTMRegularGridFloor_Editor.cs.meta b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/EditorCore/Environment/DTMRegularGridFloor_Editor.cs.meta new file mode 100644 index 00000000..a2230dea --- /dev/null +++ b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/EditorCore/Environment/DTMRegularGridFloor_Editor.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a5d1dc0749334cf6ac0c25191271bc22 diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Scripts/RuntimeCore/Environment/DTMRegularGridFloor.cs b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/RuntimeCore/Environment/DTMRegularGridFloor.cs new file mode 100644 index 00000000..7fa4c587 --- /dev/null +++ b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/RuntimeCore/Environment/DTMRegularGridFloor.cs @@ -0,0 +1,112 @@ +using System; +using System.Collections.Generic; +using Ichni.RhythmGame.Beatmap; +using UnityEngine; + +namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse +{ + public partial class DTMRegularGridFloor : EnvironmentObject + { + #region Exposed Fields + public float gridSizeX = 100f; + public float gridSizeY = 100f; + public float gridDensity = 1f; + public float lineThickness = 0.05f; + public float edgeSoftness; + public float moveVectorX; + public float moveVectorY; + + public bool enableOuterBorder = true; + public Color outerBorderColor = Color.white; + public float outerBorderWidth = 0.005f; + + public Renderer meshRenderer; + #endregion + + #region Lifecycle & Factory + public static DTMRegularGridFloor GenerateElement(string elementName, Guid id, List tags, + bool isFirstGenerated, string themeBundleName, string objectName, GameElement parentElement, + bool isStatic, + float gridSizeX, float gridSizeY, float gridDensity, + float lineThickness, float edgeSoftness, float moveVectorX, float moveVectorY, + bool enableOuterBorder, Color outerBorderColor, float outerBorderWidth) + { + DTMRegularGridFloor regularGridFloor = EnvironmentObject.GenerateElement(elementName, id, tags, + isFirstGenerated, themeBundleName, objectName, parentElement, isStatic).GetComponent(); + + regularGridFloor.gridSizeX = gridSizeX; + regularGridFloor.gridSizeY = gridSizeY; + regularGridFloor.gridDensity = gridDensity; + regularGridFloor.lineThickness = lineThickness; + regularGridFloor.edgeSoftness = edgeSoftness; + regularGridFloor.moveVectorX = moveVectorX; + regularGridFloor.moveVectorY = moveVectorY; + + regularGridFloor.enableOuterBorder = enableOuterBorder; + regularGridFloor.outerBorderColor = outerBorderColor; + regularGridFloor.outerBorderWidth = outerBorderWidth; + + return regularGridFloor; + } + + public override void FirstSetUpObject(bool isFirstGenerated) + { + if (meshRenderer == null) + meshRenderer = GetComponentInChildren(); + + meshRenderer.InitializeShader(); + } + + public override void AfterInitialize() + { + UpdateMaterialProperties(); + } + + public override void OnDirtyRefresh(Dictionary flags) + { + UpdateMaterialProperties(); + } + #endregion + + #region Core Effect Logic + public void UpdateMaterialProperties() + { + if (meshRenderer != null && meshRenderer.material != null) + { + Material mat = meshRenderer.material; + + mat.SetVector("_GridSize", new Vector4(gridSizeX, gridSizeY, 0f, 0f)); + mat.SetFloat("_GridDensity", gridDensity); + mat.SetFloat("_LineThickness", lineThickness); + mat.SetFloat("_EdgeSoftness", edgeSoftness); + mat.SetVector("_MoveVector", new Vector4(moveVectorX, moveVectorY, 0f, 0f)); + + float borderOn = enableOuterBorder ? 1f : 0f; + mat.SetFloat("_EnableOuterBorder", borderOn); + if (enableOuterBorder) + { + mat.EnableKeyword("_OUTER_BORDER_ON"); + } + else + { + mat.DisableKeyword("_OUTER_BORDER_ON"); + } + + mat.SetColor("_OuterBorderColor", outerBorderColor); + mat.SetFloat("_OuterBorderWidth", outerBorderWidth); + + mat.SetColor("_Color0", colorSubmodule.currentBaseColor); + } + } + + public override void Refresh() + { + base.Refresh(); + if (meshRenderer != null) + { + meshRenderer.material.SetColor("_Color0", colorSubmodule.currentBaseColor); + } + } + #endregion + } +} diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Scripts/RuntimeCore/Environment/DTMRegularGridFloor.cs.meta b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/RuntimeCore/Environment/DTMRegularGridFloor.cs.meta new file mode 100644 index 00000000..778b2113 --- /dev/null +++ b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/RuntimeCore/Environment/DTMRegularGridFloor.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8fe763000f430ea498bfc8d7883bda31 \ No newline at end of file diff --git a/docs/ichni-official-creatorstudio-technical-map.md b/docs/ichni-official-creatorstudio-technical-map.md new file mode 100644 index 00000000..835abcc4 --- /dev/null +++ b/docs/ichni-official-creatorstudio-technical-map.md @@ -0,0 +1,14 @@ +# ichni Official / IchniCreatorStudio 技术对照文档入口 + +生成日期:2026-07-08 + +主文档位置: + +`D:\Projects\ichni Official\docs\ichni-official-creatorstudio-technical-map.md` + +说明: + +- 该文档记录 `ichni Official` 与 `IchniCreatorStudio` 的结构差异、BM 同步关系、音频差异、剧情系统、ThemeBundle 扩展方式和后续任务检查清单。 +- 本入口文件放在 `IchniCreatorStudio/docs` 中,目的是让从编辑器项目开始工作的成员也能快速定位同一份参考资料。 +- 后续更新应优先修改主文档,避免两个项目内出现内容分叉。 +