Files
aibis-dream/Assets/Scripts/Dialog System/LineView.cs
T
dingyuntian f22b7087fb 问题修复
1. 保存存档时立绘信息未保存
2. AMB切到Main时失效
3. 跳过对话功能不停止语音
2025-03-18 14:37:40 +08:00

36 lines
1.3 KiB
C#

using System;
using AibisDream.Framework;
using AibisDream.Utility;
using Yarn.Unity;
namespace AibisDream
{
public class LineView : DialogueViewBase
{
public override void RunLine(LocalizedLine dialogueLine, Action onDialogueLineFinished)
{
EnumEventSystem.Global.Send(DialogEventEnum.LineStart, DialogText.GetLine(dialogueLine));
HandleLineOutput(dialogueLine, onDialogueLineFinished);
if (DialogController.Instance.quickRunMode)
{
DialogCanvasManager.Instance.TrySkipLine(true);
DialogCanvasManager.Instance.NextStep();
}
}
private void HandleLineOutput(LocalizedLine dialogueLine, Action onDialogueLineFinished)
{
DialogCanvasManager.Instance.ShowLine(dialogueLine.TextWithoutCharacterName.Text,
dialogueLine.GetCharacterVo(), onDialogueLineFinished, dialogueLine.IsAutoSkipLine());
}
public override void RunOptions(DialogueOption[] dialogueOptions, Action<int> onOptionSelected)
{
EnumEventSystem.Global.Send(DialogEventEnum.OptionShow);
var options = DialogOption.GeneOptions(dialogueOptions, onOptionSelected);
DialogCanvasManager.Instance.ShowOptions(options);
}
}
}