Page 1 of 1
How do I make the "Continue" button complete dialogue first?
Posted: Sat Mar 06, 2021 6:03 pm
by AHAKuo
Hello there!
First of all, I love this engine. It is so awesome and it makes me able to tell so many cool stories! So thank you for that first
Now to my question:
I am using the continue function in the dialogue system, and have linked it to a game object which contains the button and a few UIKeyTriggers for it "E" and "Escape"
TL;DR It works ok, it continues the dialogue, but it skips it entirely. How do I make it finish the current dialogue and then continue? Is there a function for that? I want it to complete the dialogue typewriter effect and then when pressed again, go to next dialogue.
Thank you
Re: How do I make the "Continue" button complete dialogue first?
Posted: Sat Mar 06, 2021 6:42 pm
by Tony Li
Hi,
The built-in dialogue UI prefabs, such as the Basic Standard Dialogue UI, are built that way.
- Add a continue button to your dialogue UI.
- Assign it to the subtitle panel's Continue Button field.
- Add a Standard UI Continue Button Fast Forward component to the continue button.
- Assign the subtitle text element to it.
- Configure the Button component's OnClick() event to call StandardIUContinueButtonFastForward.OnFastForward.
Re: How do I make the "Continue" button complete dialogue first?
Posted: Sun Mar 07, 2021 4:34 pm
by AHAKuo
Yes! It works wonderfully now!
Although I did botch things up when I didn't notice that I had to reference the typewriter effect. But I did, and it works.
Thank you <3
Re: How do I make the "Continue" button complete dialogue first?
Posted: Sun Mar 07, 2021 6:29 pm
by Tony Li
Happy to help!
Re: How do I make the "Continue" button complete dialogue first?
Posted: Thu Jan 27, 2022 10:17 pm
by PayasoPrince
Tony Li wrote: ↑Sat Mar 06, 2021 6:42 pm
Hi,
The built-in dialogue UI prefabs, such as the Basic Standard Dialogue UI, are built that way.
- Add a continue button to your dialogue UI.
- Assign it to the subtitle panel's Continue Button field.
- Add a Standard UI Continue Button Fast Forward component to the continue button.
- Assign the subtitle text element to it.
- Configure the Button component's OnClick() event to call StandardIUContinueButtonFastForward.OnFastForward.
Hey, Tony.
Not sure if its frowned upon bumping old threads or not. I was using this ^ before. Now I am disabling my continue button. I still want to be able to fast forward the dialogue while the continue button is disabled.
Is this possible?
Re: How do I make the "Continue" button complete dialogue first?
Posted: Thu Jan 27, 2022 10:23 pm
by Tony Li
If the continue button is disabled, how can you click it to fast forward?
You can set up something to do that; I'm just not sure exactly how you want it to work. With the standard setup, if the typewriter is playing then clicking the button will fast-forward it to the end. Now that the typewriter is at the end, the continue button should be active for continuing the conversation.
There's really just one line of code to fast forward a typewriter by calling its Stop() method, and another line of code to continue the conversation. If you want to implement some custom functionality, you could examine StandardUIContinueButtonFastForward.cs (the one in Scripts, not in Wrappers) and copy the lines of code you want to use.
Re: How do I make the "Continue" button complete dialogue first?
Posted: Thu Jan 27, 2022 10:44 pm
by PayasoPrince
Hi, Tony.
Thank you for the response!
I want to keep this, but I ALSO want to be able to fast forward if the player presses a button.
Is there an easy way to accomplish this?
Re: How do I make the "Continue" button complete dialogue first?
Posted: Thu Jan 27, 2022 10:48 pm
by Tony Li
By "press a button" do you mean a UI button onscreen or an input button (e.g., keyboard or joystick button)?
If you mean a UI button, you could add another button that stops the typewriter effect. You can hook up its OnClick() event to the typewriter's Stop() method.
If you mean an input button, you can add a script to the subtitle panel that listens for the input and calls the typewriter's Stop() method. Or, if you don't want to do any scripting, you can create a UI button but make it invisible (e.g., zero width and height) whose OnClick() event calls the typewriter's Stop() method. Add a UI Button Key Trigger component to it, and specify the key code or input definition that you want to map to the button as a hotkey. When the player presses this hotkey, it will simulate a button click.
I've finished work for the night. If you have any follow-up questions, let me know and I'll reply in the morning.
Re: How do I make the "Continue" button complete dialogue first?
Posted: Fri Jan 28, 2022 8:30 am
by PayasoPrince
I ended up adding another UI Button for fast forward and made it invisible by giving it a width & height of 0.
Seems to work exactly how I wanted it to. Thanks Tony!
Re: How do I make the "Continue" button complete dialogue first?
Posted: Fri Jan 28, 2022 8:36 am
by Tony Li
Glad to help!