Hey tony,
I found that IsConversationActive is happening faster than the actual conversation ends(in the eye perspective),
due to its HIDE animation.
In our case, if the user spamming to talk to the NPC before the panel HIDE animation ends,
another new dialogue happens but that the new dialogue panel becomes hide and makes the whole game stuck.
is there any easy property to check that the Dialogue panel is still activating and trying to hiding right now?
IsConversationActive goes false faster!
Re: IsConversationActive goes false faster!
Hi,
Try ticking the subtitle/menu panels' and Standard Dialogue UI's Wait For Close checkboxes.
Try ticking the subtitle/menu panels' and Standard Dialogue UI's Wait For Close checkboxes.
Re: IsConversationActive goes false faster!
Thank you for your quick response,
but It seems that the wait for close options doesn't help at the moment.
would you please check this test project, please?
It's using almost the same settings as the issued one.
made in 2019.4.19f1
[Removed project: please don't post assets publicly.]
Re: IsConversationActive goes false faster!
Hi,
I'll download the project and take a look.
I'll download the project and take a look.
Re: IsConversationActive goes false faster!
(Sorry, somehow I accidentally locked this topic. I apologize if you tried to to reply. It's unlocked now.)
Change this line:
to this:
This makes it also check that the dialogue UI is closed.
In version 2.2.16, you'll be able to just check !(DialogueManager.dialogueUI as StandardDialogueUI).isOpen, which is shorter code. It will also make the panel reappear if you start a conversation while it's closing from the previous conversation.
Change this line:
Code: Select all
if (Input.GetMouseButtonUp(0))
Code: Select all
if (Input.GetMouseButtonUp(0) &&
(DialogueManager.dialogueUI as StandardDialogueUI).conversationUIElements.mainPanel.panelState == PixelCrushers.UIPanel.PanelState.Closed)
In version 2.2.16, you'll be able to just check !(DialogueManager.dialogueUI as StandardDialogueUI).isOpen, which is shorter code. It will also make the panel reappear if you start a conversation while it's closing from the previous conversation.
Re: IsConversationActive goes false faster!
Sorry for the dumb uploading, and thank you for your effort!Tony Li wrote: ↑Sat Apr 10, 2021 8:05 pm (Sorry, somehow I accidentally locked this topic. I apologize if you tried to to reply. It's unlocked now.)
Change this line:to this:Code: Select all
if (Input.GetMouseButtonUp(0))
This makes it also check that the dialogue UI is closed.Code: Select all
if (Input.GetMouseButtonUp(0) && (DialogueManager.dialogueUI as StandardDialogueUI).conversationUIElements.mainPanel.panelState == PixelCrushers.UIPanel.PanelState.Closed)
In version 2.2.16, you'll be able to just check !(DialogueManager.dialogueUI as StandardDialogueUI).isOpen, which is shorter code. It will also make the panel reappear if you start a conversation while it's closing from the previous conversation.
I really like using Dialogue System for Unity,
it's great to take a little part in and see it's getting better.
Thank you, Tony
Have a great day!
Re: IsConversationActive goes false faster!
Glad to help! Have a great day!