Page 1 of 2

How to Send Conversations to Different UI

Posted: Wed Aug 30, 2017 1:16 pm
by zenasprime
My project has two different UI designs depending on which actors are part of the conversation. How would I go about telling the Dialogue Manager which UI to use during these conversations?

For Example:
Image
Image

Re: How to Send Conversations to Different UI

Posted: Wed Aug 30, 2017 6:59 pm
by Tony Li
Hi,

Add an Override Dialogue UI component to the actor (usually the NPC) and assign the dialogue UI that you want to use.

(Nice looking project, btw!)

Re: How to Send Conversations to Different UI

Posted: Tue Sep 12, 2017 10:19 am
by zenasprime
I haven't had a chance to implement it yet but I think this is exactly what I'm going to need.

And thanks for the compliment. I'm not the graphic designer just the guy implementing it in Unity. ;)

Thanks again Tony. :D

Re: How to Send Conversations to Different UI

Posted: Tue Sep 12, 2017 10:25 am
by Tony Li
Happy to help! If you run into any issues, just let me know.

Re: How to Send Conversations to Different UI

Posted: Tue Oct 10, 2017 11:01 am
by zenasprime
Hey Tony,

Is there a way to set a conversant transform at the beginning of a conversation, ideally using a command sequence to initiate such a conversation?

Re: How to Send Conversations to Different UI

Posted: Tue Oct 10, 2017 11:06 am
by ElBueno
Hey there. I'm on Zenas's team, working with him on this problem. Just wanted to add some clarification: We have a conversation, call it Bravo, that is linked into from another conversation, call it Alpha. Somewhere between Alpha ending and Bravo beginning, we need to be able to set an override dialogue UI to use for Bravo. The easy way is to add an Override Dialogue UI component to an object and set it as the Conversant in a Conversation Trigger component, but because we aren't using a Conversation Trigger to start Bravo, this approach won't work for us.

-Ray

Re: How to Send Conversations to Different UI

Posted: Tue Oct 10, 2017 1:11 pm
by Tony Li
Hi,

Although you're crossing from Alpha into Bravo, the Dialogue System technically treats it as a single active conversation.

Can you add a Start Conversation On Dialogue Event to start Bravo?

Here's how I set up a test scene:

1. Created 3 characters (empty GameObjects in my case):
  • Player
  • NPC1: Has a Conversation Trigger set to On Start, and a Start Conversation On Dialogue Event set to On Conversation.
  • NPC2: Has an Override Dialogue UI pointing to a different UI.
2. Conversation Alpha sets a variable StartBravo to true.

3. The Start Conversation On Dialogue Event component has an On End element with these settings:
  • Condition > Lua Conditions: Variable["StartBravo"] == true
  • Conversation: Bravo
  • Listener (conversant): NPC2
4. Conversation Bravo sets the variable StartBravo to false.

Re: How to Send Conversations to Different UI

Posted: Tue Oct 10, 2017 1:57 pm
by ElBueno
Thanks Tony. While I'm trying your suggestion: Is there any way to just switch to an override UI mid-conversation instead?

Re: How to Send Conversations to Different UI

Posted: Tue Oct 10, 2017 2:14 pm
by Tony Li
With a bit of coding, yes. If you need that functionality, I can try to put something together; let me know.

Re: How to Send Conversations to Different UI

Posted: Tue Oct 10, 2017 2:15 pm
by ElBueno
Oh wow, yes please, that would absolutely wonderful. Thank you so much.