I was using the below sequence commands to give "delay" for response from player's choice.
Code: Select all
// below are code that is under shortcut "{{pc2}}"
HidePanel(0);
HidePanel(1);
HidePanel(2);
HidePanel(3);
HidePanel(4);
HidePanel(5);
HidePanel(6);
HidePanel(7);
required SetDialoguePanel(false)@0.1;
required Continue()@2;
required SetDialoguePanel(true)@2.1;
Code: Select all
void OnConversationLine(Subtitle subtitle)
{
// Add to pc response Sequence
var isLastNode = !DialogueManager.currentConversationState.hasAnyResponses;
if (subtitle.speakerInfo.isPlayer && _showedMenu && subtitle.speakerInfo.nameInDatabase == "Player")
{
if (isLastNode)
{
subtitle.sequence += "Continue();";
}
else
{
subtitle.sequence += "{{pc2}}";
}
_showedMenu = false;
}
}
Now, it just goes to the next node right away and skip the very next response. Also, it does a quick flicker(showing the NPC panel quickly for about 1-2 frames then disappearing to show gradual opacity 0-1 animation reveal) every time it starts a new dialogue with a new panel instantiated. (Yes, all the animator has Hidden as Start state which sets the Canvas Alpha to be 0 but it was somehow not called. Dialogue panels were all disabled and it seemed like it was disabled before the animator get to set itself to the "start" node?)
here are my DialogueSystemController settings. I dont know if this change affected these results?
Also, where do I find previous versions? I might want to roll back just in case.- Fixed: Moved sequencer command processing back to Update, with sequencer messages queued for LateUpdate.