36 lines
1.3 KiB
C#
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);
|
|
}
|
|
}
|
|
} |