42 lines
1.4 KiB
Markdown
42 lines
1.4 KiB
Markdown
|
||
# 生成动画测试流程
|
||
|
||
用户点击"生成动画"
|
||
↓
|
||
SaveCollisionDetectionRecord
|
||
↓
|
||
CheckExistingDetectionRecord
|
||
├── 找到相同配置?→ 弹出提示框
|
||
│ ├── 【是】→ 记录_lastReusedRecordId,在历史列表中高亮,返回已有ID
|
||
│ └── 【否】→ 清除_lastReusedRecordId,继续创建新记录
|
||
└── 未找到 → 继续创建新记录
|
||
↓
|
||
碰撞分析流程检查 IsReusedHistoryRecord
|
||
├── 是 → 提前返回,跳过动画生成和碰撞检测
|
||
└── 否 → 继续正常流程
|
||
|
||
用户生成动画 → 检测到相同配置的历史记录 → 弹出对话框询问
|
||
↓
|
||
用户选择"使用历史记录"
|
||
↓
|
||
|
||
1. 设置 IsUsingHistoryRecord = true
|
||
2. 在历史列表中选中该记录
|
||
3. 自动滚动到该记录
|
||
4. 自动打开碰撞报告对话框
|
||
↓
|
||
用户播放动画 → 动画完成 → 检查 IsUsingHistoryRecord
|
||
↓
|
||
├── true → 跳过 ClashDetective 测试,记录日志
|
||
└── false → 正常执行 ClashDetective 测试
|
||
|
||
生成动画
|
||
↓
|
||
检查动画帧缓存
|
||
├── 命中 → 直接使用缓存的动画帧
|
||
└── 未命中 → 计算动画帧并缓存
|
||
↓
|
||
检查配置是否已存在(_animationHashToRecordId)
|
||
├── 存在 → 提示用户选择使用历史记录或重新生成
|
||
└── 不存在 → 创建新记录,继续正常流程
|