How Can I Check Conversation flow in timeline?

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
Lee
Posts: 6
Joined: Mon Jan 22, 2024 10:02 am

How Can I Check Conversation flow in timeline?

Post by Lee »

I trying to make CutScene with timeline.
So I made Conversation Track and Continue Conversation Track in timeline, and StartConversationClip in Conversation track.
I noticed that I didn't add Continue Conversation Clip in Continue Conversation Track, but Conversation is well-played.

because I set each conversation node's playtime with Sequencer Command, I thought Timeline don't need to add Continue Conversation Clip first.

but when I tried to add animation, I found that I can't check Conversation flow. I can check it only when I run the game.

Should I add Continue Conversation Clips to check Conversation flow, or is there any other way to check it?
User avatar
Tony Li
Posts: 22112
Joined: Thu Jul 18, 2013 1:27 pm

Re: How Can I Check Conversation flow in timeline?

Post by Tony Li »

Hi,

What do you mean by "check conversation flow"?
Lee
Posts: 6
Joined: Mon Jan 22, 2024 10:02 am

Re: How Can I Check Conversation flow in timeline?

Post by Lee »

I'm sorry for my poor English..
I mean that while during a conversation, which node is playing now.

If there's no continue conversation clip in continue conversation track, I can't find which node is playing in timeline panel.

Although I run the program and run timeline, I see my conversation is well-played, when program is not running, I can't know which node is playing in timeline panel.

I know that adding continue conversation clips can solve this problem, If there was a way to solve it without adding it, I thought it could save time and solve it more efficiently.
User avatar
Tony Li
Posts: 22112
Joined: Thu Jul 18, 2013 1:27 pm

Re: How Can I Check Conversation flow in timeline?

Post by Tony Li »

Hi,

The node that is currently playing is in the property DialogueManager.currentConversationState. Example using the special script method OnConversationLine:

Code: Select all

void OnConversationLine(Subtitle subtitle)
{
    Debug.Log($"The current node's text is: {subtitle.formattedText.text}. The node's ID is {subtitle.dialogueEntry.id}.");
    
    Debug.Log($"The current node's text is: {DialogueManager.currentConversationState.subtitle.formattedText.text}.");
    if (!DialogueManager.currentConversationState.hasAnyResponses)
    {
        Debug.Log("This node ends the conversation.");
    }
}
Post Reply