Arranging Fields- Not Visually Showing Up

Announcements, support questions, and discussion for the Dialogue System.
SummonerHolly
Posts: 13
Joined: Sun Mar 21, 2021 3:09 pm

Re: Arranging Fields- Not Visually Showing Up

Post by SummonerHolly »

Hey Tony!

So yep! I've got objects for all the characters attached to my DDOL Dialogue Manager, I've set them to Subtitle Panel 2 by default so they show up in that opening sequence in the right position!

So from image 1 to image 2 those are two different conversation entries, so yeah in START node for the first I set her to 2, and then in the START node the for the second I set her to 1.
Attachments
Designer Dialogue Actor Component.png
Designer Dialogue Actor Component.png (62.7 KiB) Viewed 142 times
User avatar
Tony Li
Posts: 22049
Joined: Thu Jul 18, 2013 1:27 pm

Re: Arranging Fields- Not Visually Showing Up

Post by Tony Li »

Hi,

Thanks! I think the simplest solution will be to use a short subclass of DialogueSystemTrigger that lets you specify which subtitle panels each actor should use. Here's an example scene with the subclass script:

DS_DialogueSystemTriggerSpecifyPanels_2021-03-30.unitypackage

The example has 3 actors: Player, Designer, and Seller.

Designer and Seller both have Dialogue Actor components set to Panel 2 (mid right). Player is set to Panel 0 (right).

A DialogueSystemTriggerSpecifyPanels component starts the conversation. It works just like DialogueSystemTrigger except it has a section where you can specify that Designer should use Panel 1 from the start:

dialogueSystemTriggerSpecifyPanels.png
dialogueSystemTriggerSpecifyPanels.png (35.26 KiB) Viewed 141 times

If you play the example scene, Player should be in panel 0 (right), Seller should be in Panel 2 (mid right), and Designer should be in Panel 1 (left) from the start.

Note that DialogueSystemTriggerSpecifyPanels sets the character's Dialogue Actor component's Subtitle Panel Number. So you may want to set it back at some point using the SetPanel() sequencer command, or in the next dialogue system trigger, or in C# by setting the DialogueActor's standardDialogueUISettings.subtitlePanelNumber property.
SummonerHolly
Posts: 13
Joined: Sun Mar 21, 2021 3:09 pm

Re: Arranging Fields- Not Visually Showing Up

Post by SummonerHolly »

Okay this is awesome!

So I've managed to use this system with an OnEnable Trigger uniquely for each Dialogue System Trigger, so whenever I want to play a line of dialogue I enable it from script! This works perfectly and doesn't add much work to the system at all ^^

My only concern with this is whether having this many game objects eventually waiting to be enabled will be a problem going forward if I end up having 100s of these waiting in the DDOL?

Thanks!
system trigger.png
system trigger.png (54.36 KiB) Viewed 139 times
Dialogue Triggers.png
Dialogue Triggers.png (86.78 KiB) Viewed 139 times
Trigering.png
Trigering.png (38.26 KiB) Viewed 139 times
User avatar
Tony Li
Posts: 22049
Joined: Thu Jul 18, 2013 1:27 pm

Re: Arranging Fields- Not Visually Showing Up

Post by Tony Li »

Generally speaking, it should be fine since the Dialogue System Triggers won't be doing anything until they're enabled.

However, it would be more optimal if you could move those Dialogue System Triggers to a different DDOL GameObject that's not part of the Dialogue Manager GameObject's hierarchy. The Dialogue Manager sends various script messages, such as "OnConversationStart" and "OnConversationEnd" to the GameObjects in its hierarchy. There's no need to take up extra milliseconds of CPU time to try to send those messages to your hundreds of Dialogue System Triggers.
SummonerHolly
Posts: 13
Joined: Sun Mar 21, 2021 3:09 pm

Re: Arranging Fields- Not Visually Showing Up

Post by SummonerHolly »

Okay done and done!!

This has got all me set! I'll be fully recommending this system to anyone who'll listen! :)

Thank for everything!
User avatar
Tony Li
Posts: 22049
Joined: Thu Jul 18, 2013 1:27 pm

Re: Arranging Fields- Not Visually Showing Up

Post by Tony Li »

Glad to help! Best of luck on your game!
Post Reply