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!
Questions on getting more detailed control
Re: Questions on getting more detailed control
Hi,
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.
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.
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
Note that it will still allow mouse clicks. To disable mouse clicks, disable the Dialogue Manager Canvas's GraphicRaycaster component.
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
A. Where do I set it in inspector?
B. 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!
B.
Code: Select all
PixelCrushers.DialogueSystem.DialogueManager.SetDialogueSystemInput(false);
C. Delay(1) on the very first node(the initial node without any script) works great!
Re: Questions on getting more detailed control
Hi,
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).
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.fkkcloud wrote: ↑Tue Oct 06, 2020 1:43 pmB.still does not disable the button input. I am using XBoxController and "Submit"Code: Select all
PixelCrushers.DialogueSystem.DialogueManager.SetDialogueSystemInput(false);
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
All works great now- thank you-!
Re: Questions on getting more detailed control
Glad to help!