Referencing when having multiple Databases

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
whitecrow_dev
Posts: 6
Joined: Thu Dec 15, 2022 8:30 am

Referencing when having multiple Databases

Post by whitecrow_dev »

Hi!

So we're trying to setup multiple databases ahead of time since they seem to be a pain to split afterwards :P
I understand the chapter "Working With Multiple Databases".

The problem: I cannot reference conversations from other databases than the one marded as 'main'.
In already 3 places:
1). The [ConversationPopupDrawer] only shows conversations in the 'main' database. How do i make it show all conversations from all databases?

2). From a conversation in the 'main' database I cannot reference a conversation from the 'other' database (in order to jump, forward from one 'menu' to another, ie DLC content that adds conversation options.

3). From the main window to select a conversation to edit.

Thanks,
User avatar
Tony Li
Posts: 21962
Joined: Thu Jul 18, 2013 1:27 pm

Re: Referencing when having multiple Databases

Post by Tony Li »

Hi,

For 1, use [ConversationPopup(true)]. This will show a slot where you can assign a reference database to populate the popup.

For 3, in the Project view click on the database containing the conversation you want to edit.

There’s no easy provision for 2 in the Dialogue Editor window.
whitecrow_dev
Posts: 6
Joined: Thu Dec 15, 2022 8:30 am

Re: Referencing when having multiple Databases

Post by whitecrow_dev »

Hey Tony,

Thank you for your help <3
Solution for 1 isnt really user friendly, if you see what I mean :P
However! Thanks to the fact that the code is visible (<3), I could easilly reuse ConversationPopup and ConversationPopupDrawer to make my own drawer (protip: its even easier if using OdinInspector and ValueDropdown)

Problem2: after rethinking it a bit, design wise theres no reason to be able to link to convos in other databases. It would defeat the optimization purpose of having multiple dbs.

Solution for 3 perfectly fits the design of multiple databases, I no longer see the need to list all convos in all databases in the editor window.

Thanks for this awesome package !
whitecrow_dev
Posts: 6
Joined: Thu Dec 15, 2022 8:30 am

Re: Referencing when having multiple Databases

Post by whitecrow_dev »

Hey Tony,

Thank you for your help <3
Solution for 1 isnt really user friendly, if you see what I mean :P
However! Thanks to the fact that the code is visible (<3), I could easilly reuse ConversationPopup and ConversationPopupDrawer to make my own drawer (protip: its even easier if using OdinInspector and ValueDropdown)

Problem2: after rethinking it a bit, design wise theres no reason to be able to link to convos in other databases. It would defeat the optimization purpose of having multiple dbs.

Solution for 3 perfectly fits the design of multiple databases, I no longer see the need to list all convos in all databases in the editor window.

Thanks for this awesome package !
User avatar
Tony Li
Posts: 21962
Joined: Thu Jul 18, 2013 1:27 pm

Re: Referencing when having multiple Databases

Post by Tony Li »

Hi,

Glad to help!

Can you provide more details on 1? The process would be:

1. Specify database containing conversation.

2. Select conversation from that database.
whitecrow_dev
Posts: 6
Joined: Thu Dec 15, 2022 8:30 am

Re: Referencing when having multiple Databases

Post by whitecrow_dev »

Sure.
For 1) the issue was:
"1). The [ConversationPopupDrawer] only shows conversations in the 'main' database. How do i make it show all conversations from all databases?".
What I wanted is a drawer to show *all* the conversations from all Databases, just to be able to set them in the inspector.
Or at least be able to list the convos in the DB of the current scene. So if I have a scene "DLC#1" and an associated DB "DLC#1" I wanted in Scene DLC#1 the dropdown to list the convos of the DB DLC#1.
Atm if we setup a different DB for each scene, the dropdown would still only list the convos of the 'main' DB.

I solved this by looking at the code of "ConversationPopup" and "ConversationPopupDrawer" and made my own drawer that would fetch all the conversations in the databases I specified in a singleton monobehaviour in the scene. Could have done differently by fetching the assets directly in the project, but this solution suffices.

The package OdinInspector just allowed to simplify the 'drawer' part of the tool *and* add a search bar.
User avatar
Tony Li
Posts: 21962
Joined: Thu Jul 18, 2013 1:27 pm

Re: Referencing when having multiple Databases

Post by Tony Li »

I wonder if Odin was interfering. You should have been able to assign the DLC#1 DB to the ConversationPopup field and seen DLC#1's conversations in the dropdown. Anyway, I'm glad it's working now.
Post Reply