Files
aibis-dream/Assets/Scripts/Dialog System/LineView.cs
T
2025-11-05 23:59:55 +08:00

75 lines
3.3 KiB
C#

using System;
using AibisDream.Framework;
using AibisDream.Utility;
using UnityEngine;
using Yarn.Unity;
namespace AibisDream
{
/// <summary>
/// 对话View,仅用于处理对话文本
/// </summary>
public class LineView : DialogueViewBase
{
// public override void RunLine(LocalizedLine dialogueLine, Action onDialogueLineFinished)
// {
// string lineId = dialogueLine.TextID;
// string shortText = dialogueLine.TextWithoutCharacterName.Text.Length > 30
// ? dialogueLine.TextWithoutCharacterName.Text.Substring(0, 30) + "..."
// : dialogueLine.TextWithoutCharacterName.Text;
//
// Debug.Log($"[对话流程] [{lineId}] ===== 开始处理 =====");
// Debug.Log($"[对话流程] [{lineId}] 文本内容: {shortText}");
//
// EnumEventSystem.Global.Send(DialogEventEnum.LineStart, DialogText.GetLine(dialogueLine));
//
// HandleLineOutput(dialogueLine, NextStep);
//
// if (DialogController.Instance.quickRunMode)
// {
// Debug.Log($"[快速模式] [{lineId}] ===== 快速处理开始 =====");
//
// // 快速模式:直接跳过文本显示并继续
// bool skipResult = DialogCanvasManager.Instance.TrySkipLine(true);
// Debug.Log($"[快速模式] [{lineId}] TrySkipLine结果: {skipResult}");
//
// EnumEventSystem.Global.Send(DialogEventEnum.LineShown);
// Debug.Log($"[快速模式] [{lineId}] LineShown事件已发送");
//
// DialogCanvasManager.Instance.NextStep();
// Debug.Log($"[快速模式] [{lineId}] NextStep已调用");
// Debug.Log($"[快速模式] [{lineId}] ===== 快速处理完成 =====");
// }
// else
// {
// Debug.Log($"[正常模式] [{lineId}] 等待用户交互");
// }
//
// Debug.Log($"[对话流程] [{lineId}] ===== 处理完成 =====");
// return;
//
// void NextStep()
// {
// EnumEventSystem.Global.Send(DialogEventEnum.LineEnd);
// onDialogueLineFinished();
// }
// }
//
// private void HandleLineOutput(LocalizedLine dialogueLine, Action onDialogueLineFinished)
// {
// string lineId = dialogueLine.TextID;
// Debug.Log($"[文本显示] [{lineId}] 开始显示文本");
// DialogCanvasManager.Instance.ShowLine(dialogueLine.TextWithoutCharacterName.Text,
// dialogueLine.GetCharacterVo(), onDialogueLineFinished, dialogueLine.TextID,
// dialogueLine.IsAutoSkipLine());
// }
//
// public override void RunOptions(DialogueOption[] dialogueOptions, Action<int> onOptionSelected)
// {
// Debug.Log($"[选项显示] ===== 显示 {dialogueOptions.Length} 个选项 =====");
// EnumEventSystem.Global.Send(DialogEventEnum.OptionShow);
// var options = DialogOption.GeneOptions(dialogueOptions, onOptionSelected);
// DialogCanvasManager.Instance.ShowOptions(options);
// }
}
}