How do I make the "Continue" button complete dialogue first?
How do I make the "Continue" button complete dialogue first?
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
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?
Hi,
The built-in dialogue UI prefabs, such as the Basic Standard Dialogue UI, are built that way.
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?
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
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
- PayasoPrince
- Posts: 104
- Joined: Thu Jan 27, 2022 6:47 pm
Re: How do I make the "Continue" button complete dialogue first?
Hey, Tony.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.
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?
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.
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.
- PayasoPrince
- Posts: 104
- Joined: Thu Jan 27, 2022 6:47 pm
Re: How do I make the "Continue" button complete dialogue first?
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?
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?
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.
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.
- PayasoPrince
- Posts: 104
- Joined: Thu Jan 27, 2022 6:47 pm
Re: How do I make the "Continue" button complete dialogue first?
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!
Seems to work exactly how I wanted it to. Thanks Tony!