SepComet
|
1fe2f31ede
|
对 DisplayItemInfoForm 按 5 层 UI 规范做结构整理
- 删除无用的 DisplayItemInfoUseCase,转为轻量 UI(Controller + Context + View)
- RawData 类型安全:object Data 拆分为 WeaponData + PropItem
- View 事件规范:回收按钮改用 UI 专用事件,由 Controller 通过回调转发
- 简化 _locked 状态管理,统一在 CloseUIAsync 中清理
|
2026-06-16 17:09:21 +08:00 |
SepComet
|
68b9f98e0e
|
修复 CommonButton 导航功能失效的问题并重新绑定 UI 事件引用
|
2026-06-16 17:09:21 +08:00 |
SepComet
|
11621ee1c9
|
为随机角色卡补 hover 反向链路
新增 SelectRoleClearEventArgs:hover 随机卡时清空选中状态,让上方属性区回到 _randomRoleCard。
- SelectRoleForm.OnRandomHoverEnter 上报事件
- SelectRoleUseCase.ClearSelection 重置 SelectedRoleId 并重建 RawData
- SelectRoleController 订阅事件并刷新 Context
- SelectRoleForm.prefab 随机卡 _onPointerEnterAction 绑定新方法
|
2026-06-16 17:09:21 +08:00 |
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 |
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 |
SepComet
|
1cd3936f49
|
接入菜单导航并改造通用按钮交互
- 将 CommonButton 改为基于 Unity Button 实现,保留原有 pointer enter、click、pointer exit 三类事件配置,同时接入 Selectable/Button 的导航、选中和提交能力。补充 CommonButton 自定义 Inspector,保留项目自定义事件与背景配置的编辑体验。
- 同步调整菜单相关 UI,将 StartMenuForm 迁移为 MenuForm,并更新 UIForm 配置、菜单 Controller/Form 以及相关 prefab 引用。更新多个 UI prefab 和通用按钮 prefab,使菜单、商店、角色选择、道具展示等界面能够使用新的按钮选中与导航交互。
|
2026-06-16 17:09:20 +08:00 |
SepComet
|
db481ae0a8
|
引入 Cinemachine 和 CameraModule,添加摄像机跟随缓动效果
|
2026-06-16 17:09:19 +08:00 |
SepComet
|
649930c666
|
扩充游戏内容,保持敌人基本行为不变,使用缩放和颜色区分不同敌人
|
2026-06-16 17:09:19 +08:00 |
SepComet
|
29c4468d54
|
清理项目目录,引入 InputModule 做多平台输入适配
|
2026-06-16 17:09:19 +08:00 |
SepComet
|
d28ccaa7f9
|
迁移 Coin/Exp/Projectile/Effect 实体的生成路径
|
2026-06-16 17:09:19 +08:00 |
SepComet
|
734f2cd5af
|
调整 EnemyManagerComponent 部分逻辑到异步操作
|
2026-06-16 17:09:19 +08:00 |
SepComet
|
0bab6ecbc5
|
迁移 Player/ProcedureGame/ShopUseCase 里的实体方法调用风格
- Player/ShopUseCase:调整了 Weapon 实体的打开方式
- ProcedureGame:调整初始化时的 Hud 和 Player 的初始化写法,流程更清楚
|
2026-06-16 17:09:19 +08:00 |
SepComet
|
a721670b36
|
Update EntityAsyncExtension.cs
为 EntityAsyncExtension 添加了便利的打开各类实体的方法
|
2026-06-16 17:09:19 +08:00 |
SepComet
|
3b61e263cc
|
调整 UIRouter 的打开关闭 UI 的返回值,统一成 UniTask
|
2026-06-16 17:09:19 +08:00 |
SepComet
|
fbb9e1e068
|
Update AsyncTaskHelper.cs
- WaitEventAsync<T>() 增加可选 CancellationToken
- WaitSuccessOrFailureAsync<TSuccess, TFailure>() 增加可选 CancellationToken
- 保持现有调用兼容:原来的参数顺序和默认行为不变
- 抽出统一完成/清理逻辑:
- 成功
- 失败
- 超时
- 取消
- 防止重复完成导致重复 Unsubscribe
- 超时任务在事件完成后会被取消,避免后台 delay 继续跑
- 取消时会反订阅事件,适合后续 Procedure 生命周期迁移
|
2026-06-16 17:09:19 +08:00 |
SepComet
|
170ea690b2
|
调整 SpriteCache 的读取资源方式
将原来 UGF 事件回调风格的调用改成使用 UniTask 的异步操作
|
2026-06-16 17:08:06 +08:00 |
SepComet
|
edd7088804
|
规范命名空间
具体来说就是 SepCore 开头,然后接所属的模块名,比如 SepCore.Entity,SepCore.Simulation,SepCore.Procedure
|
2026-06-03 16:57:40 +08:00 |
SepComet
|
5de3fdc795
|
迁移 EntityData 到 Base 中
- 新增 EntityDataFactory 工厂类,提供创建 EntityData 的统一入口
- 移出 EntityData 及派生类对 GameEntry 的依赖并移入 SepCore.Base 程序集中
|
2026-06-03 15:12:55 +08:00 |
SepComet
|
91f70dd783
|
添加 SepCore.Runtime 和 SepCore.Base 程序集
- 暂时将 Entity 全部归进 Runtime 程序集里
- 调整部分 UI 的 UseCase/RawData/Context 之间的关系,让 RawData 更接近业务原始数据,Context 更接近 UI 直接可读的数据
- 调整其他程序集的引用关系
|
2026-06-03 11:15:58 +08:00 |
SepComet
|
7bba8bbb80
|
继续重构调整(UI)
- 引入 UniTask 和异步版本的 UIModule
- 调整 Runtime/UIBase 和 Presentation 下的脚本命名空间到 SepCore.UI
- 将原来的 5 层 UI 迁移到异步实现
- 规范各层的 UI 脚本命名
|
2026-06-03 09:58:37 +08:00 |
SepComet
|
6b8a6a8789
|
继续调整,创建 Procedure 与 Presentation 程序集
- 创建 Procedure 与 Presentation 两个程序集
- 初步解决这两个程序集与原程序集的引用关系
|
2026-06-02 23:26:08 +08:00 |
SepComet
|
affa44e4d0
|
调整 Event 和 Editor 命名空间
- 将原来的 CustomEvent 调整到 SepCore.Event
- 将 Editor 文件夹下的统一到 SepCore.Editor,顺带修改了 Editor 程序集
|
2026-06-02 19:26:21 +08:00 |
SepComet
|
34c0784190
|
第一批重构,主要是物理迁移脚本和部分命名空间的调整
- 结构上迁移文件,将脚本分成 Base/Runtime/Presentation/Procedure/Editor 五大文件夹
- 调整 DataTable 和 Definition 下脚本的命名空间
- 依据 UI-5层架构设计规范 拆分原先的 UI 到 Runtime 和 Presentation 下
|
2026-06-02 19:12:34 +08:00 |