I am trying to put a delay after the Response Menu is selected.
123.png (50.98 KiB) Viewed 1851 times
this does not work.
I don't know if the Response Menu would care if my Subtitle Setting's Continue Button is set to 'Always'?
What should I do if I want to put a delay right after the Response Menu is selected - before NPC respond?
So:
1) Player press on the choice in the Response Menu
2) Response Menu dismiss
3) There is a Delay of 1 second - that does not show anything (Kinda like a fake so it looks like NPC is thinking to respond)
4) NPC dialogue appears after the delay above.
Re: Response Menu Sequence delay
Posted: Tue Dec 15, 2020 5:21 pm
by Tony Li
The Default Response Menu Sequence plays while the response menu is visible. But when the player clicks a response the Dialogue System will automatically stop the sequence if it's still playing.
Instead, if you want to delay after the player clicks a response, make a subclass of StandardUIResponseButton. Override OnClick() to wait:
public class MyResponseButton : StandardUIResponseButton
{
public override void OnClick()
{
StartCoroutine(DelayThenClick());
}
IEnumerator DelayThenClick()
{
yield return new WaitForSeconds(1);
base.OnClick();
}
}
Put this on your response buttons instead of StandardUIResponseButton.
Re: Response Menu Sequence delay
Posted: Tue Jan 05, 2021 2:05 pm
by fkkcloud
But this would not dismiss the Dialogue box but just wait for delay then dismiss it, right?
This is what is expected result.
The choice goes away right after selection.
Player does an animation (but skipping PC subtitle as you can see in the video)
Then, after 1 second delay, NPC respond.
Re: Response Menu Sequence delay
Posted: Tue Jan 05, 2021 2:47 pm
by Tony Li
To do that, use SetDialoguePanel() in the player response's Sequence field. For example:
SetDialoguePanel(false);
Anim(Player, AnimTrigger); // this is my custom animation sequence without any "Wait" feature
SetDialoguePanel(true)@2
Re: Response Menu Sequence delay
Posted: Tue Jan 05, 2021 3:29 pm
by Tony Li
fkkcloud wrote: ↑Tue Jan 05, 2021 3:01 pmSo, basically no on SKip PC subtitles I assume
You can still keep the Skip PC Subtitle After Response Menu checkbox ticked. This only makes it skip the subtitle text. But the response node's Sequence will always play. It's not affected by the checkbox.
fkkcloud wrote: ↑Tue Jan 05, 2021 3:01 pmAlso, I am implementing a bunch of custom facial/body animation with my custom Sequences....
That's correct; call Stop() after the animation is done. Then you can use ->Message and @Message:
Anim(Player, AnimTrigger); // since this is just calling animTrigger - calling Stop() right after should be good for me
SetDialoguePanel(false);
Continue()@2.1; // No continue button for PC subtitle so manually calling Continue here. I have Continue button for all the other subtitles btw.
SetDialoguePanel(true)@2; // so this will show NPC subtitle, correct?
I also made the PC Subtitle's Internal Panel's gameObject to be disabled in the prefab so its completely invisible.
Otherwise, I get a "briefly hide/how animation triggered" for the subtitle UI.
The problem is when I want to show PC subtitle with 1 choice (which becomes just general subtitle) but it gets disabled as well..
Re: Response Menu Sequence delay
Posted: Tue Jan 05, 2021 8:04 pm
by Tony Li
If there is only one choice and you want to show it in a response menu anyway, include the markup tag "[f]" in the text. This forces it to show a menu.
Re: Response Menu Sequence delay
Posted: Tue Jan 05, 2021 8:22 pm
by fkkcloud
No, I want to show the PC subtitle than menu for a single player choice.
For now, I ticked Skip PC subtitle so I don't have to disable the panel itself of PC on multiple choices.
Then, I ticked Show subtitle for PC line so it shows for single PC choice.
Only problem is that, if I have
[ Single PC Line ]
show PC subtitle here (which is desired)
then I have 2 choices
[ PC Choice 1 ] [ PC Choice 2 ]
it does not show PC subtitle based on the choice here (which is also desired)
but this somehow briefly shows the [ Single PC Line] a bit then show NPC subtitle.
Re: Response Menu Sequence delay
Posted: Tue Jan 05, 2021 9:05 pm
by Tony Li
If you want to show the PC subtitle after the player selects a response menu button, tick Skip PC Subtitle After Response Menu. (Sorry if I misunderstand.)