Questions on getting more detailed control

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
fkkcloud
Posts: 298
Joined: Mon Oct 05, 2020 6:00 am

Questions on getting more detailed control

Post 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!
User avatar
Tony Li
Posts: 22051
Joined: Thu Jul 18, 2013 1:27 pm

Re: Questions on getting more detailed control

Post 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.
fkkcloud
Posts: 298
Joined: Mon Oct 05, 2020 6:00 am

Re: Questions on getting more detailed control

Post 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!
User avatar
Tony Li
Posts: 22051
Joined: Thu Jul 18, 2013 1:27 pm

Re: Questions on getting more detailed control

Post by Tony Li »

Hi,
fkkcloud wrote: Tue Oct 06, 2020 1:43 pmA. Where do I set it in inspector?
hideContinueUntilTyped.png
hideContinueUntilTyped.png (96.45 KiB) Viewed 720 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).
fkkcloud
Posts: 298
Joined: Mon Oct 05, 2020 6:00 am

Re: Questions on getting more detailed control

Post by fkkcloud »

All works great now- thank you-!
User avatar
Tony Li
Posts: 22051
Joined: Thu Jul 18, 2013 1:27 pm

Re: Questions on getting more detailed control

Post by Tony Li »

Glad to help!
Post Reply