v10 全量评审:修复 TD-06 至 TD-12(InputReader 移除资产扫描回退 / EmergencySave 解除 LocalFileStorage 直接依赖 / AccessibilityManager 注册 IAccessibilityService / HUDController HP/SpringIcon SetActive 复用 / MovingPlatform 缓存 WaitForSeconds / RewardSO IRewardTarget 解耦 Quest←Player 依赖 / CrashReporter 频率限制崩溃日志)

This commit is contained in:
2026-05-12 16:18:46 +08:00
parent ebbbb7332e
commit 9284278578
27 changed files with 1697 additions and 125 deletions

View File

@@ -71,8 +71,15 @@ namespace BaseGames.Cutscene
&& _worldState.HasFlag($"cutscene_played_{_cutscene.cutsceneId}"))
return;
_cutsceneManager.PlayCutscene(_cutscene);
_worldState?.SetFlag($"cutscene_played_{_cutscene.cutsceneId}");
// 捕获局部变量,避免回调内通过 this 访问被销毁的对象
var cutsceneId = _cutscene.cutsceneId;
var worldState = _worldState;
_cutsceneManager.PlayCutscene(_cutscene, onCompleted: () =>
{
// 过场完全结束后才写入 flag确保异常中断时可重触
worldState?.SetFlag($"cutscene_played_{cutsceneId}");
});
// 区域触发后禁用自身,防止重入
if (_mode == TriggerMode.OnEnter) enabled = false;