Commit Graph

16 Commits

Author SHA1 Message Date
SepComet 5fb7ea499f Checkpoint 3 fix
修复将互斥算法由同步转成异步产生的抖动问题
2026-02-22 14:11:53 +08:00
SepComet 34b1424bb6 Checkpoint 2 & Checkpoint 3
Checkpoint 2:Simulation 与 Job 数据通道打通
- 新增 Job 数据通道(Persistent NativeList)与 Simulation <-> NativeContainer 拷贝/回写流程
- 在生命周期接入通道管理(初始化、清空、集中释放)并接入 UseJobSimulation 分支
- 增强通道健壮性:失效容器自动重建,避免 EditMode 下 ObjectDisposedException
- 增加 UseJobSimulation 分支回归用例(EditMode/PlayMode 各 1 条)

Checkpoint 3:敌人移动与朝向 Job 化
- UseJobSimulation 分支正式切到 Job 路径
- 新增敌人移动/朝向 Job 实现(IJobParallelFor):
	- Burst 版本 + 非 Burst 版本(受 UseBurstJobs 开关控制)
	- Job 计算移动、朝向、状态;主线程补做分离避让回补
- 扩展数据通道能力(为 Job 输出缓冲和投射物输出同步提供接口)
- 补充分支回归测试(开启 UseJobSimulation 后验证追踪与朝向)
2026-02-22 10:47:42 +08:00
SepComet 76ed9a3e53 Checkpoint 1:依赖锁定与运行开关落地
- 在 `SimulationWorld` 里添加 P2 运行开关 `UseJobSimulation` 与 `UseBurstJobs`
- 添加依赖包:
	1. burst: 1.8.28
	2. collections: 2.5.7
	3. Mathematics: 1.3.2
	4. jobs(不单独成包)
- 运行测试,均通过
2026-02-22 10:12:26 +08:00
SepComet d55ead69a0 - Checkpoint 1:清理 `TickEnemies` 侧 GC
- Checkpoint 2:解耦 Simulation 核心与 `Transform` 运行时依赖
- Checkpoint 3:收口 `EntitySync` 职责边界
- Checkpoint 4:拆分 Simulation Tick 阶段
- Checkpoint 5:补最小回归测试
- Checkpoint 6:补充 P1.5 结项文档
2026-02-21 13:39:14 +08:00
SepComet 200277a703 - 修复 EntityBinding.cs 的字典不一致问题 2026-02-20 22:19:25 +08:00
SepComet dedd07e187 Checkpoint 7 测试结论:
- TickEnemies 有明显 GC 增长,主要来自桶结构每帧重建
- Simulation 内核仍直接依赖 Transform(不是纯数据更新)
- 引入 P1.5 来解决上述问题,避免 P2 进行 Job 替换时返工
2026-02-20 21:27:53 +08:00
SepComet 31fe7a4d61 Checkpoint 5 & Checkpoint 6:
- SimulationWorld 只做逻辑计算与数据输出,不再直接写 Transform
- 在 ShowEntitySuccess 中接入 Pickup/Projectile 占位注册:
	- Drop 走 UpsertPickup(...)
	- Bullet/Projectile 走 UpsertProjectile(...)
- 在 HideEntityComplete 中接入对应回收:
	- Drop 走 RemovePickupByEntityId(...)
	- Bullet/Projectile 走 RemoveProjectileByEntityId(...)
- 新增占位数据构造:
	- CreatePickupSimData(...)
	- CreateProjectileSimData(...)
- 调整 EnemyManagerComponent 职责,现在只管“敌人相关”:
	- 敌人刷怪节奏
	- 敌人列表缓存与计数
	- 玩家引用与 enemy.SetTarget(...)
- 新增嵌套类 SimulationWorld.Presentation,专门消费 EnemySimData 并回写 position/rotation
- 新增嵌套类 SimulationWorld.EntitySync 负责“Simulation 同步”:
	- 监听 ShowEntitySuccess/HideEntityComplete
	- 同步 Enemy/Drop/Projectile 到 SimulationWorld
	- 敌人 SimData 构建、Pickup/Projectile 占位数据构建
2026-02-20 20:41:22 +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 3b8e0731f0 Checkpoint 1:
- 新增三类 SimData:
    - EnemySimData
    - ProjectileSimData
    - PickupSimData
- 新增 Tick 上下文:SimulationTickContext
- 新增双向索引绑定:EntityBinding
- 新增纯数据容器世界:SimulationWorld
2026-02-20 18:27:14 +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