Page 1 of 1

Nova UI

Posted: Sun Jun 04, 2023 4:55 am
by yakster
Is it possible to use the Nova UI system? I'm not quite sure how to integrate it. If it is possible is there more information or some steps I could follow?

thanks.

Re: Nova UI

Posted: Sun Jun 04, 2023 8:18 am
by Tony Li
I haven't used Nova UI, but if you're comfortable with scripting then you don't need to make any changes to the Dialogue System itself. Just duplicate TemplateDialogueUI.cs, rename it and move it to your own scripts folder, and fill in code to work with Nova UI where the comments indicate. Then add the script to your dialogue UI, and assign it to the Dialogue Manager's Dialogue UI field. The Dialogue System will work happily with it.

Re: Nova UI

Posted: Mon Jun 05, 2023 1:05 am
by yakster
The Dialogue System Controller requires a canvas, however Nova UI doesn't use one. Can I create my own dialogue UI without a canvas?

Re: Nova UI

Posted: Mon Jun 05, 2023 7:49 am
by Tony Li
Hi,

Yes, you can create your own dialogue UI without a canvas. The Dialogue System Controller component can have a reference to a Canvas, but it's not required. It's only used when you're using a Unity UI-based dialogue UI.

Re: Nova UI

Posted: Wed Jun 07, 2023 8:48 am
by yakster
OK, I think I'm a little confused on what to do. Do I need to create something that replaces the StandardDialogueUI? That seems like a lot of work. I feel like all I really need is the text for the relevant fields and have that go into my appropriate text fields. Am I over complicating it? Or is it a really big job? And if it is simple do you have any code examples I could use?

thanks.

Re: Nova UI

Posted: Wed Jun 07, 2023 11:53 am
by Tony Li
Hi,

I'm not familiar with how Nova UI works. If it runs on top of Unity UI (for example, like how Doozy UI does), you can probably continue to use the StandardDialogueUI component and just make a subclass of StandardUISubtitlePanel to use on your subtitle panels in place of the original StandardUISubtitlePanel. (See this post for instructions on replacing scripts in-place.) In your subclass, override the SetContent() method to work with Nova UI.

If Nova UI works significantly different from Unity UI, you will want to remove the dialogue UI's StandardDialogueUI component and replace it entirely with your own dialogue UI script based on TemplateDialogueUI.cs. This template has methods such as Open() and ShowSubtitle() that you'll need to fill in.