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 后验证追踪与朝向)
This commit is contained in:
SepComet
2026-02-22 10:47:42 +08:00
parent 76ed9a3e53
commit 34b1424bb6
8 changed files with 663 additions and 6 deletions
+3 -3
View File
@@ -123,13 +123,13 @@
- 约束:默认可一键回退到 P1.5 路径,避免全量切换导致定位困难。
- 完成标准:Editor/Development Build 均可编译运行;关闭开关时行为与 P1.5 一致。
- [ ] Checkpoint 2:Simulation 与 Job 数据通道打通(仅建通道,不改行为)
- [x] Checkpoint 2:Simulation 与 Job 数据通道打通(仅建通道,不改行为)
- 为敌人/投射物建立 Job 输入输出结构(纯数据,不含 `Transform`/托管引用)。
- 建立 `SimulationWorld -> NativeContainer -> SimulationWorld` 的拷贝与回写流程。
- 统一生命周期:`Allocator.Persistent` 分配、集中 `Dispose`,避免泄漏。
- 完成标准:战斗循环可稳定运行,且该通道持续帧无新增 GC Alloc 热点。
- [ ] Checkpoint 3:敌人移动与朝向 Job 化(第一优先)
- [x] Checkpoint 3:敌人移动与朝向 Job 化(第一优先)
- 将敌人移动、朝向更新迁移至 `IJobParallelFor`。
- 输入最少包含:`position/forward/speed/targetPosition/deltaTime/state`。
- 输出最少包含:`nextPosition/nextForward/isMoving`。
@@ -241,4 +241,4 @@
## 测试命令
- PlayMode: `Unity -batchmode -nographics -projectPath . -runTests -testPlatform PlayMode -testResults Logs/playmode-test-results.xml -logFile Logs/playmode-tests.log`
- EditMode: `Unity -batchmode -nographics -projectPath . -runTests -testPlatform EditMode -testResults Logs/editmode-test-results.xml -logFile Logs/editmode-tests.log`
- EditMode: `Unity -batchmode -nographics -projectPath . -runTests -testPlatform EditMode -testResults Logs/editmode-test-results.xml -logFile Logs/editmode-tests.log`