I think I may have been having a similar issue, or getting confused when using the stack, so I went back to trying this on a monobehaviour:
Code: Select all
private int _lastNodeID;
private string _lastConversationStarted;
public void SwitchToConversationAction(string conversation)
{
StartCoroutine(SwitchToConversationActionWork(conversation));
}
public IEnumerator SwitchToConversationActionWork(string conversation)
{
yield return new WaitForEndOfFrame();
_lastConversationStarted = DialogueManager.lastConversationStarted;
_lastNodeID = DialogueManager.currentConversationState.subtitle.dialogueEntry.id;
DialogueManager.StopConversation();
DialogueManager.StartConversation(conversation);
}
public void ContinueConversation()
{
DialogueManager.StopConversation();
DialogueManager.StartConversation(_lastConversationStarted, null, null, _lastNodeID);
}