vampire-like/Assets/GameMain/Scripts/Presentation
SepComet aca311dd60 5 层 UI 规范收敛 SelectRoleForm 的 RawData / Context
围绕规范 §3.2 / §3.4 / §8 整理 SelectRoleForm 的数据传输与展示模型,让两层各自只承担规范允许的职责,并把子组件归位到模块目录内。

RawData层:
- RolePropertyAreaRawData 移除展示串 InitialPropertyText,改为业务字段 StatModifier[] InitialProperties,并补回 RoleId,避免 RawData 携带已格式化的展示文本(违反 §3.2)。
- SelectRoleRawData 拆掉平铺的 RoleIds / RoleIconNames 平行数组与 SelectedRoleId / SelectedRoleName / SelectedRoleInitialProperties 哨兵字段,聚合为 RoleItemRawData[] RoleItems 与 RolePropertyAreaRawData SelectedRole(null 表示未选中),跟 Context 端的子结构形态对称。
- SelectRoleUseCase.BuildModel 同步改造为构造子 RawData,不再处理 -1 哨兵 ID。

Context 层:
- 删除 SelectRoleContext.RoleIds 冗余字段(信息已由 RoleItemContexts[i].RoleId 承载)。
- 新增 bool ShowRoleProperty,把"显示属性卡 vs 显示随机卡"从 RolePropertyAreaContext == null 的隐式哨兵改成显式信号;Form 端 UpdateShowRole 改为读 ShowRoleProperty 切换卡片,不再用 null 当三态信号。
- Controller.BuildContext 用 rawData.SelectedRole != null 取代 >= 0 判定,InitialPropertyText 仍由 Controller 通过 ItemDescUtility.CreatePropDescription 拼装后注入 Context。

目录归属
事件命名
2026-06-16 17:09:20 +08:00
..
Common 5 层 UI 规范收敛 SelectRoleForm 的 RawData / Context 2026-06-16 17:09:20 +08:00
Main 接入菜单导航并改造通用按钮交互 2026-06-16 17:09:20 +08:00
Menu 5 层 UI 规范收敛 SelectRoleForm 的 RawData / Context 2026-06-16 17:09:20 +08:00
Utility 按 UI 五层规范重构 SelectRoleForm 并整理事件目录 2026-06-16 17:09:20 +08:00
Common.meta 第一批重构,主要是物理迁移脚本和部分命名空间的调整 2026-06-02 19:12:34 +08:00
Main.meta 第一批重构,主要是物理迁移脚本和部分命名空间的调整 2026-06-02 19:12:34 +08:00
Menu.meta 第一批重构,主要是物理迁移脚本和部分命名空间的调整 2026-06-02 19:12:34 +08:00
SepCore.Presentation.asmdef 清理项目目录,引入 InputModule 做多平台输入适配 2026-06-16 17:09:19 +08:00
SepCore.Presentation.asmdef.meta 继续调整,创建 Procedure 与 Presentation 程序集 2026-06-02 23:26:08 +08:00
Utility.meta 添加 SepCore.Runtime 和 SepCore.Base 程序集 2026-06-03 11:15:58 +08:00