SepComet
|
c5335078df
|
对 SelectRoleController 按 5 层 UI 规范的做一轮残留清理
死方法清理:
-删除SelectRoleController.UpdateShowRole(RolePropertyAreaContext)。该方法没有任何调用方:hover 切换走 OnSelectRoleHoverAsync 全量重建 RawData / Context,SelectRoleForm.prefab 上的 "UpdateShowRole" 绑定指向 RoleItem.UpdateShowRole(),与 Controller 同名方法无关。
- 同步把 SelectRoleForm.UpdateShowRole(bool, RolePropertyAreaContext) 收为 private,只保留 RefreshUI 内部调用入口。
日志 tag 修正:
- BindUseCase 的 Log.Error tag 由 "SelectRoleUseCase.BindUseCase()" 改回 "SelectRoleController.BindUseCase()"。
- OnSelectRoleHoverAsync 的 Log.Error tag 由 "SelectRoleController.OnMenuSelectRoleSelected()" 改为 "SelectRoleController.OnSelectRoleHoverAsync()",与方法名对齐。
handler 命名收敛(§6.3):
- OnMenuSelectRoleConfirm → OnSelectRoleConfirm,订阅 / 解订阅 /方法体内日志 tag 全部同步,与 OnSelectRoleReturn / OnSelectRoleHover 命名一致。
风格统一:
- OnSelectRoleReturn 的 sender 校验改为 IsCurrentFormEventSender,与 Hover / Confirm 路径保持一致;原先的窄校验 (sender is SelectRoleForm && sender == Form)语义不变,只是不再让两套写法并存。
- OpenUIAsync(SelectRoleRawData, float) 返回值由 UniTask<int?> 简化为 UniTask:全代码无人消费 serialId,基类抽象签名也是 UniTask,这条便利入口跟着对齐。
|
2026-06-16 17:09:20 +08:00 |
SepComet
|
d2ce741a37
|
按 UI 五层规范重构 SelectRoleForm 并整理事件目录
- SelectRoleForm 五层归位:UseCase 改为构造注入 IProcedureMenu(新增 Runtime/ProcedureInterface),RawData 暴露原始 StatModifier[] 而非展示串,Controller 复用 ItemDescUtility 拼装属性文本,并修复 OpenUIAsync(object) 合法 RawData 分支缺少 return 的误报路径
- StatModifier 去展示职责:删除 _statTypeNames / ToString,富文本格式化下沉到 Presentation 层的 ItemDescUtility.Describe(StatModifier),CreatePropDescription 改用统一入口
- 事件目录按 UIForm 归档:Base/Event/UI/Menu/* 拆解到 SelectRoleForm/ MenuForm/ DialogForm/ DisplayItemInfoForm/ Combat/ 等各自子目录,MenuSelectRoleReturnEventArgs 改名 SelectRoleReturnEventArgs,语义归属本 UI 模块
- IUIFormController → IUIController 改名,联动 UIControllerBase / UIRouterComponent / Editor
- 同步更新 docs/UI-5层架构设计规范.md 中相关示例与 MenuForm.prefab、ProcedureMenu 引用
|
2026-06-16 17:09:20 +08:00 |