剧情+对话完善
This commit is contained in:
@@ -2,6 +2,7 @@ using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using AK.Wwise;
|
||||
using Ichni.Menu;
|
||||
using Ichni.Story;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Serialization;
|
||||
|
||||
@@ -28,6 +29,12 @@ namespace Ichni
|
||||
/// </summary>
|
||||
public MenuReturnDestination menuReturnDestination;
|
||||
|
||||
/// <summary>
|
||||
/// 由剧情 SongBlock 发起的单次选曲上下文。它是运行时路由数据,不属于玩家存档;
|
||||
/// 仅用于校验目标歌曲、决定返回页面并还原剧情树浏览位置。
|
||||
/// </summary>
|
||||
[System.NonSerialized] public StorySongEntryContext storySongEntryContext = new StorySongEntryContext();
|
||||
|
||||
public ChapterSelectionUnit chapter;
|
||||
public SongItemData song;
|
||||
public DifficultyData difficulty;
|
||||
@@ -57,7 +64,12 @@ namespace Ichni
|
||||
{
|
||||
// 保留旧入口,供现有选曲流程在播放过场前预先写入歌曲信息。
|
||||
// 真正进入 GameScene 时,MenuManager.EnterGame 会补充 SongSelection 返回目标。
|
||||
PrepareGameLaunch(chapter, song, difficulty, MenuReturnDestination.None);
|
||||
if (PrepareGameLaunch(chapter, song, difficulty, MenuReturnDestination.None))
|
||||
{
|
||||
// 只有玩家真正确认“进入游戏”且命中剧情目标歌曲时,才完成对应 SongBlock。
|
||||
// 单纯从剧情打开选曲、浏览其它歌曲或返回菜单都不会写入剧情进度。
|
||||
StoryManager.instance?.HandleSongSelectionConfirmed(chapter, song);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -79,6 +91,10 @@ namespace Ichni
|
||||
chapterSwitch = chapter.chapterSwitch;
|
||||
songSwitch = song.songSwitch;
|
||||
menuReturnDestination = returnDestination;
|
||||
|
||||
// “确认进入游戏”是歌曲尝试的统一边界。无论入口来自普通选曲、Story SongBlock 或教程,
|
||||
// 都由 SongSaves 记录这一次尝试;StoryTree 会在构建/返回时据此同步 SongBlock 完成状态。
|
||||
GameSaveManager.instance?.SongSaveModule?.MarkSongTried(song.songName);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user