本仓库是 Unity 2022.3.57f1c2 弹珠项目客户端。当前产品依据是小程序端交互稿;现阶段优先建立可替换的本地模拟交互闭环,线上账号、服务端、支付、小程序容器与最终数值仍待确认。
本工作区内的每次聊天与操作均受 AGENTS.md 约束,并按其中的任务路由读取最小上下文。本文件只在项目勘察、跨模块设计或需要核对稳定技术事实与模块边界时读取;继续任务先读 CURRENT_STATE.md,进入自有模块前再读对应 MODULE.md。
人机权限与禁止事项的完整规则以 AGENTS.md 为唯一权威;GUI 验证的操作步骤、预期结果、失败排查和回传格式以 DEVELOPMENT_WORKFLOW.md 为准。本文件只保留项目结构相关的稳定事实。
| 路径 | 职责 | 状态 |
|---|---|---|
Assets/Main |
启动场景、YooAsset 初始化、热更新启动入口、首个场景加载策略与跨场景宿主(WebGLPostSceneLoadRunner)与调试控制台。 |
链路已实测:Boot → ClientShell 在容器与真机均进首页;见 Assets/Main/MODULE.md |
Assets/Scripts |
项目业务、通用能力、网络、表格、热更新与编辑器脚本。 | 已存在,待勘察 |
Assets/Client |
本次新建的非战斗客户端模块:独立开发场景、场景可编辑 UI、养成/背包/商城等领域逻辑、本地模拟数据、Stats 数值与说明模块、以及初始化 UI 层级/自检的 Editor 工具。 |
已表驱动:10 张客户端表在 Play 中可见;ProfilePage/Activity 收口完成;自检 70 项通过(详见 CURRENT_STATE.md 与 Assets/Client/MODULE.md) |
Assets/Scripts/Platform/WeChatMiniProgram |
微信小游戏平台能力契约与默认回退。 | 已建立,待 SDK 适配器接入 |
Assets/Editor/HybridCLR |
项目自有 HybridCLR 编辑器辅助命令;当前用于 WebGL HotFix 编译与同步。 | 已纳入一键出包管线(阶段 A 自动编译并同步 HotFix.dll.bytes) |
Assets/WX-WASM-SDK-V2 |
已导入的微信小游戏 WASM 转换 SDK;包含 Editor 转换工具、运行时桥接和模板资源。 | 第三方目录,受控维护 |
Assets/WebGLTemplates/WXTemplate* |
微信小游戏导出用 WebGL 模板。 | 第三方模板,受控维护 |
Assets/Scenes |
启动后加载的游戏与测试场景、场景特效资源。 | 已存在,待勘察 |
Assets/Resources |
通过 Unity Resources 机制直接加载的基础资源。 | 已存在,受控维护 |
Assets/Resources_HotUpdate |
通过热更新资源流程提供的 UI、字体、材质与加载资源。 | 已存在,受控维护 |
Assets/HotUpdateResources |
热更新 DLL、预制体和场景的构建输入。 | 已存在,受控维护 |
StreamingAssets、StreamingAssetsPublish |
内置/发布资源包输出,受 YooAsset 发布链路影响。 | 待确认发布策略 |
Bundles、AssetBundles |
已生成或导出的资源包;保留至完成引用与发布策略核验。 | 待核验 |
docs |
现有项目资料与交互稿相关文件。 | 已存在 |
UI素材 |
原始 UI 参考素材;不是最终可直接删除的运行时资源。 | 待美术确认 |
Notes |
本对话生成的项目学习笔记与知识整理;不包含功能实现或运行时配置。 | 已建立 |
构建设置启用 Boot(0) → ClientShell(1)(2026-09-22 起)。Assets/Main/Boot.unity 由 Assets/Main/Init.cs 初始化 YooAsset、按运行模式加载资源包与热更新程序集,然后加载首个游戏场景:Init.ClientStartScene 指向 ClientShell(属构建清单内的内置场景 ⇒ 用 SceneManager.LoadSceneAsync 原生加载;留空则回落原行为 LoginScene,走 YooAsset 地址加载)。因此不得在未验证资源地址、包清单和场景引用前删除 Assets/Main、热更新资源、StreamingAssets 或发布资源包。完整移植手册见 WEBGL_MINIGAME_HANDBOOK.md。
⚠️ 2026-09-20 补充(保留原文,见BUG_TRACKER.mdBUG-025): 当时链路只到LoginScene—— 客户端场景Assets/Client/Scenes/ClientShell.unity既不在构建设置里,也没有任何运行时代码加载它 ⇒ 按当时现状构建 WebGL / 微信小游戏,包内不含客户端场景,永远进不到客户端 UI。 三个方案(A 把ClientShell加进构建设置并置首 / B 在Boot之后追加SceneManager.LoadScene("ClientShell")/ C 新建只做客户端初始化的ClientBoot场景并置首)当时待负责人选定。✅ 2026-09-22 更新(已解决):最终落地为「
Boot(0) → ClientShell(1)+Init原生加载」(方案 A 的变体),ClientBoot已退出启动链;容器与真机均进首页,真机 TCP 六包齐全 (证据:构建日志[Builder] Scenes [1]: …/ClientShell.unity, [x];HOME_PAGE_SCENE_FIX_OPTIONS.md§九;WEBGL_B2_REALDEVICE.md§八)。
- 新业务按领域模块归入
Assets/Scripts,共享基础能力不得被页面模块复制。 - 运行时代码、编辑器代码和第三方代码保持隔离;不移动第三方与热更新基础设施来追求表面整洁。
- 目录迁移必须保持 Unity
.meta文件、场景/预制体引用和 YooAsset 地址一致,并有回滚路径。 - 清理优先处理可再生 IDE 产物与日志;已纳入版本控制的资源包、构建物及不明资源先核验后处理。
- 新客户端不得依赖或改造既有街机战斗场景;需要接入既有启动、资源或导航能力时,先以适配器边界隔离。
Bundles、AssetBundles、StreamingAssetsPublish是否为当前发布所需产物及其再生成命令。Assets/Scenes中的历史测试/示例场景、第三方示例目录及未使用资源是否仍需保留。- 面向小程序的目标平台、性能预算和最终资源分包方案。
- 微信小游戏转换 SDK、AppID、域名/隐私合规、登录换票协议和开发者工具/真机测试权限。