剧情+对话完善

This commit is contained in:
SoulliesOfficial
2026-07-21 15:24:42 -04:00
parent 8f230831e9
commit 810d019619
161 changed files with 7271 additions and 1893 deletions

View File

@@ -1,18 +1,22 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Collections.Generic;
namespace Ichni.RhythmGame
{
/// <summary>
/// 单首歌曲的持久化容器。
/// <see cref="isCompleted"/> 只表示玩家曾完成过该歌曲具体难度的成绩、Revision 与 Max Combo
/// <see cref="isTried"/> 表示玩家曾确认进入过该歌曲;<see cref="isCompleted"/> 只表示玩家曾完成过一次有效结算。
/// Story SongBlock 使用 isTried而具体难度的成绩、Revision 与 Max Combo
/// 由 <see cref="beatmapSavesByDifficultyId"/> 中对应稳定难度 ID 的 <see cref="BeatmapSave"/> 管理。
/// </summary>
public class SongStatusSave
{
/// <summary>
/// 玩家是否曾确认进入过本曲的 GameScene。
/// 该字段不代表结算成功,也不要求存在判定;它让 Story SongBlock 能在切场景、退出游戏或重新打开章节后,
/// 通过持久化的歌曲记录稳定恢复“已尝试”状态。
/// </summary>
public bool isTried;
/// <summary>至少有一次有效结算完成;谱面 Revision 变化不会回退该流程状态。</summary>
public bool isCompleted;
@@ -28,11 +32,12 @@ namespace Ichni.RhythmGame
public SongStatusSave()
{
}
public SongStatusSave(bool isCompleted, string additionalInfo, Dictionary<int, BeatmapSave> beatmapSavesByDifficultyId)
{
// 已拥有有效结算的歌曲必然也已尝试,避免两个状态出现矛盾。
isTried = isCompleted;
this.isCompleted = isCompleted;
this.additionalInfo = additionalInfo;
this.beatmapSavesByDifficultyId = beatmapSavesByDifficultyId;