Commit Graph

24 Commits

Author SHA1 Message Date
SepComet 8cf3802b9d 按 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-14 13:19:12 +08:00
SepComet 7a3a2cf17b 引入 Cinemachine 和 CameraModule,添加摄像机跟随缓动效果 2026-06-10 09:55:57 +08:00
SepComet 5ede6846db 清理项目目录,引入 InputModule 做多平台输入适配 2026-06-06 16:35:39 +08:00
SepComet 4790bd0091 调整 EnemyManagerComponent 部分逻辑到异步操作 2026-06-06 14:57:08 +08:00
SepComet 41ff2c6df8 迁移 Player/ProcedureGame/ShopUseCase 里的实体方法调用风格
- Player/ShopUseCase:调整了 Weapon 实体的打开方式
- ProcedureGame:调整初始化时的 Hud 和 Player 的初始化写法,流程更清楚
2026-06-06 14:12:05 +08:00
SepComet 788f717335 调整 UIRouter 的打开关闭 UI 的返回值,统一成 UniTask 2026-06-06 13:33:33 +08:00
SepComet edd7088804 规范命名空间
具体来说就是 SepCore 开头,然后接所属的模块名,比如 SepCore.Entity,SepCore.Simulation,SepCore.Procedure
2026-06-03 16:57:40 +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
SepComet 8d21d53c4d 添加武器长枪 + bug fix
- WeaponLance:Entity/Goods/Weapon 表,状态机
- Battle -> Shop/LevelUp:隐藏子弹
2026-03-19 17:53:24 +08:00
SepComet ccbd27e87e Checkpoint 9 2026-03-16 22:19:57 +08:00
SepComet 76094b711b fix 2
1. MaxTargets 现在严格生效(包含玩家候选)
  - 玩家先被加入候选后,会计入 selectedCount,达到上限后不再继续查敌人桶。
2. UseSimulationMovement/UseJobSimulation 战斗中不生效
  - 在 SimulationWorld 的 setter 中增加 Battle 状态保护:战斗中调用会被忽略并打 warning。
  - 在 ProcedureGame 暴露当前状态类型,供 SimulationWorld 判断。
3. AOE 结算不再依赖结算时刻的 Weapon.IsAttacking
  - 在 AOE query 入队时快照 source 活跃状态(武器用 IsAttacking)。
  - Query 数据结构增加 SourceWasActiveAtQueryTime。
  - 结算时使用该快照判定,并通过 AIUtility.PerformCollision(..., ignoreRuntimeState: true) 避免被实时状态误伤。
2026-02-23 11:48:05 +08:00
SepComet f0abf78128 Checkpoint 5 & Checkpoint 6 2026-02-22 22:00:43 +08:00
SepComet 6494ebc5fd Checkpoint 3 & Checkpoint 4:
- GameStateBattle 接入 Simulation 主更新入口
- SimulationWorld 增加开关 UseSimulationMovement(默认 false)
- SimulationWorld.Tick(...) 现在在开关开启时执行敌人追踪/移动模拟,基本还原 MovementComponent 功能(敌人互斥)
- 调整 IEnemySeparationSolver 系列方法,不再依赖 MovementComponent
2026-02-20 19:54:44 +08:00
SepComet 83f8a356f7 Checkpoint 2:
- 调整 SimulationWorld 作为 GameFrameworkComponent 组件
- ProcedureGame 接入 SimulationWorld 生命周期(创建/清理)并在敌人 Show/Hide 时同步注册/反注册
- 增加 EnemySimData 构建与缓存去重移除,避免重复注册和悬空映射
- SimulationWorld 增加 UpsertEnemy/UpsertProjectile/UpsertPickup,支持幂等注册
2026-02-20 18:47:00 +08:00
SepComet 3742110e9a - 补充游戏核心逻辑
- 完成 TodOList P0
    - 添加游戏内控制台便于调试
    - 增加敌人互斥机制提高运算负载
    - 优化互斥算法将游戏性能基准线拉到 1k 敌人
2026-02-20 18:08:27 +08:00
SepComet b4bc8b0445 - 调整项目结构以适应打包需求
- 添加控制台便于在游戏运行过程中调试各项功能
- 添加 LevelRarity 表,增加了随关卡数动态调整的商品道具品质刷新概率
2026-02-18 22:53:33 +08:00
SepComet e151619c69 修复已知的 bug,规划后期的开发方向 2026-02-17 22:46:28 +08:00
SepComet 85b0205c73 - 规范 UI 设计成为:
- UIForm 负责展示
    - Controller 负责控制
    - UseCase 负责业务逻辑
    - RawData 负责提供原始数据
    - Context 负责为 UIForm 提供数据
- 添加和补充一系列 UI 功能
2026-02-16 19:03:09 +08:00
SepComet d650dd63e7 功能:添加启动器场景并更新项目设置
- 调整了启动器场景名(Assets/Launcher.unity)及对应的元数据文件。
- 添加了README.md项目文档,包含安装说明、项目结构、编码规范、测试指南及依赖项。
2026-02-13 21:49:59 +08:00
SepComet 88641dae11 初始化仓库 2026-02-07 19:38:49 +08:00