试图修复快进模式卡流程的问题
This commit is contained in:
@@ -72,6 +72,13 @@ namespace AibisDream
|
||||
|
||||
public void StartDialogNode(string nodeName)
|
||||
{
|
||||
// 检查对话是否正在运行
|
||||
if (_dialogueRunner.IsDialogueRunning)
|
||||
{
|
||||
Debug.LogWarning($"对话正在运行中,无法启动新节点: {nodeName}");
|
||||
return;
|
||||
}
|
||||
|
||||
if (CheckIfNodeExistInCurrentYarnProject(nodeName))
|
||||
{
|
||||
_dialogueRunner.StartDialogue(nodeName);
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user