试图修复快进模式卡流程的问题

This commit is contained in:
2025-07-14 19:46:24 +08:00
parent 1fa92e420c
commit 02ed2fb7aa
5 changed files with 22 additions and 7 deletions
@@ -72,6 +72,13 @@ namespace AibisDream
public void StartDialogNode(string nodeName)
{
// 检查对话是否正在运行
if (_dialogueRunner.IsDialogueRunning)
{
Debug.LogWarning($"对话正在运行中,无法启动新节点: {nodeName}");
return;
}
if (CheckIfNodeExistInCurrentYarnProject(nodeName))
{
_dialogueRunner.StartDialogue(nodeName);
+13 -2
View File
@@ -2,6 +2,7 @@ using System;
using AibisDream.Framework;
using AibisDream.Utility;
using Yarn.Unity;
using UnityEngine;
namespace AibisDream
{
@@ -15,11 +16,21 @@ namespace AibisDream
if (DialogController.Instance.quickRunMode)
{
DialogCanvasManager.Instance.TrySkipLine(true);
DialogCanvasManager.Instance.NextStep();
// 在快速模式下,立即跳过到下一行,不等待Yarn命令执行
StartCoroutine(QuickRunNextStep(onDialogueLineFinished));
}
}
private System.Collections.IEnumerator QuickRunNextStep(Action onDialogueLineFinished)
{
// 在快速模式下,立即跳过,不等待任何延迟
yield return null;
// 立即跳过到下一行
DialogCanvasManager.Instance.TrySkipLine(true);
DialogCanvasManager.Instance.NextStep();
}
private void HandleLineOutput(LocalizedLine dialogueLine, Action onDialogueLineFinished)
{
DialogCanvasManager.Instance.ShowLine(dialogueLine.TextWithoutCharacterName.Text,