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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user