Commit Graph

4 Commits

Author SHA1 Message Date
SepComet 224db4cd5c 保留 Tick 作为唯一入口,但让 SimulationWorld 只做 orchestration
- Tick 仍然是唯一仿真入口。SimulationWorld 顶层现在只保留全局开关、bridge 服务和生命周期入口,原来散落在类上的大部分跨域状态已经从 SimulationWorld 收口到新的 SimulationWorld.RuntimeModules。
- 新的 runtime modules 把状态按域分成了 SimulationStateStore、JobDataRuntimeState、CollisionPipelineRuntimeState、TargetSelectionRuntimeState,并通过同名代理把现有 partial 的调用面基本保持不变。
- CollisionPipeline 和 target-selection 的配置也一起下沉到了运行时模块。为了避免现有反射型测试立刻失效,保留了 _collisionQueryInputs 和 _areaCollisionRequests 这两个顶层兼容字段。
2026-03-17 10:05:07 +08:00
SepComet ccbd27e87e Checkpoint 9 2026-03-16 22:19:57 +08:00
SepComet 688fefe848 fix 1
1. 修复投射物闪避口径(使用 Value,与全局伤害逻辑一致)
  - 将 SimulationWorld 内投射物伤害计算改为直接复用 AIUtility.CalcDamageHP(...)。
  - 删除了 SimulationWorld 里那套重复且使用 dodgeStat.Percent 的私有计算函数,避免再次分叉。
2. 修复目标选择索引“重建过于激进”
  - 去掉了 Job Tick 末尾的“每帧强制 MarkDirty + Build”。
  - 改为在 Job 输出回写时,只有敌人 XZ 坐标发生变化才标记 dirty。
  - 空间索引构建条件改为“仅 dirty 时重建”,不再因跨帧自动重建。
2026-02-23 11:21:35 +08:00
SepComet 5fb7ea499f Checkpoint 3 fix
修复将互斥算法由同步转成异步产生的抖动问题
2026-02-22 14:11:53 +08:00