Page 1 of 1
Questions on getting more detailed control
Posted: Tue Oct 06, 2020 12:52 pm
by fkkcloud
Hi,
I am trying to do 2 things.
A. Showing "Continue" button only when the text appreance animation is finished. Right now, it shows from the very beginning. - How do I control this?
B. Disable/Enable the Dialogue System input when I want. I have a screen dim in/out and I don't want players to click on anything during this time.
C. I am starting conversation with Proximity Selector event, if it possible to start the Conversation after a certain delay?
Thank you!
Re: Questions on getting more detailed control
Posted: Tue Oct 06, 2020 1:19 pm
by Tony Li
Hi,
fkkcloud wrote: ↑Tue Oct 06, 2020 12:52 pmA. Showing "Continue" button only when the text appreance animation is finished. Right now, it shows from the very beginning. - How do I control this?
The typewriter effect has some UnityEvents that you can configure in the inspector. In the OnCharacter() UnityEvent, set the continue button inactive. In the OnEnd() UnityEvent, set it active.
fkkcloud wrote: ↑Tue Oct 06, 2020 12:52 pmB. Disable/Enable the Dialogue System input when I want. I have a screen dim in/out and I don't want players to click on anything during this time.
If you only want to disable the continue button, use the SetContinueMode() sequencer command. Example:
Code: Select all
SetContinueMode(false);
Fade(out,1);
Fade(in,1)@1;
SetContinueMode(true)@2
If you want to disable all Dialogue System input, call DialogueManager.SetDialogueSystemInput(false) in a script. To re-enable input, call DialogueManager.SetDialogueSystemInput(true).
Note that it will still allow mouse clicks. To disable mouse clicks, disable the Dialogue Manager Canvas's GraphicRaycaster component.
fkkcloud wrote: ↑Tue Oct 06, 2020 12:52 pmC. I am starting conversation with Proximity Selector event, if it possible to start the Conversation after a certain delay?
If you're using Proximity Selector to trigger a Dialogue System Trigger, configure the conversation's first node to delay using the Delay() sequencer command, set leave the text blank.
Re: Questions on getting more detailed control
Posted: Tue Oct 06, 2020 1:43 pm
by fkkcloud
A. Where do I set it in inspector?
B.
Code: Select all
PixelCrushers.DialogueSystem.DialogueManager.SetDialogueSystemInput(false);
still does not disable the button input. I am using XBoxController and "Submit"
C. Delay(1) on the very first node(the initial node without any script) works great!
Re: Questions on getting more detailed control
Posted: Tue Oct 06, 2020 2:10 pm
by Tony Li
Hi,
fkkcloud wrote: ↑Tue Oct 06, 2020 1:43 pmA. Where do I set it in inspector?
- hideContinueUntilTyped.png (96.45 KiB) Viewed 724 times
fkkcloud wrote: ↑Tue Oct 06, 2020 1:43 pmB.
Code: Select all
PixelCrushers.DialogueSystem.DialogueManager.SetDialogueSystemInput(false);
still does not disable the button input. I am using XBoxController and "Submit"
It only disables Dialogue System-specific input such as UI Button Key Trigger hotkeys and the Dialogue Manager's Input Settings > Cancel Subtitle and Cancel Conversation inputs.
It sounds like you also need to temporarily disable Unity UI input. To do this, disable the GraphicRaycaster like I mentioned above, and also disable the EventSystem's input module (e.g., InputSystemUIInputModule for new Input System, StandaloneInputModule for default input system).
Re: Questions on getting more detailed control
Posted: Tue Oct 06, 2020 3:03 pm
by fkkcloud
All works great now- thank you-!
Re: Questions on getting more detailed control
Posted: Tue Oct 06, 2020 3:15 pm
by Tony Li
Glad to help!