存档重构,游戏内容解锁机制;教程完善(未完成)
This commit is contained in:
@@ -216,7 +216,12 @@ namespace Ichni.Story
|
||||
public void OnBlockCompleted(string blockId)
|
||||
{
|
||||
if (!_completed.Add(blockId))
|
||||
return; // 已完成,无需处理
|
||||
{
|
||||
// 剧情变量可能在 block 已完成后被外部系统修正;即使完成集合没有变化,
|
||||
// 也要重新推导依赖变量的后续 Block 状态。
|
||||
RefreshAllStates();
|
||||
return;
|
||||
}
|
||||
|
||||
RefreshAllStates();
|
||||
SaveChapter();
|
||||
@@ -382,6 +387,9 @@ namespace Ichni.Story
|
||||
return;
|
||||
}
|
||||
|
||||
// TutorialBlock 的后续解锁由全局剧情变量驱动;只清空 completedBlockIds
|
||||
// 会造成“节点未完成但后续仍解锁”的错误测试结果,因此同时清除本章节声明的教程变量。
|
||||
StoryProgress.ClearTutorialProgressForChapter(_storyData);
|
||||
_completed.Clear();
|
||||
SaveChapter();
|
||||
BuildChapter(_chapterIndex);
|
||||
|
||||
Reference in New Issue
Block a user