Page 1 of 2
Corgi Engine With Quest Log
Posted: Fri Oct 07, 2022 6:10 pm
by BWLGeorge
Evening! I've been using Corgi Engine alongside Dialogue System and the latest mystery I've come across is incorporating the quest log. I'm still pretty green when it comes to coding, so any help (or at least direction to where I can find help) would be appreciated.
Using other Dialogue System ui pauses the game and grabs input normally as it should, but for some reason opening the quest log doesn't pause the game, and the controls still control the character instead of operating in the menu as the input manager should have them do.
Wondering if there's any tips on why it's working for one and not the other.
Alternatively, wondering if there'd be any way to nest the Quest Log inside Corgi Engine's pause menu. I've set up pretty rudimentary menus using setactive onclick buttons for a map, options, and controls menu, but because the Quest Log is controlled by the Dialogue Manager, setting it active doesn't quite work and I'd need to figure out a way to call it from the menu button.
Thanks in advance!
Re: Corgi Engine With Quest Log
Posted: Fri Oct 07, 2022 6:40 pm
by Tony Li
Hi,
Have you ticked the "Pause While Open" checkbox on the quest log window's StandardUIQuestLogWindow component?
Re: Corgi Engine With Quest Log
Posted: Fri Oct 07, 2022 7:32 pm
by BWLGeorge
Yep, doesn't seem to have any affect
Re: Corgi Engine With Quest Log
Posted: Fri Oct 07, 2022 10:19 pm
by Tony Li
Looks like Corgi's MMSceneLoadingManager script undoes the pause every frame. I'll post an updated integration here tomorrow that allows the quest log window to use the same technique to pause gameplay that ConversationZone does.
Re: Corgi Engine With Quest Log
Posted: Sat Oct 08, 2022 2:57 pm
by Tony Li
Please use this updated integration:
DS_CorgiSupport_2022-10-08.unitypackage
- Remove the reference to the quest log window prefab that's in the Dialogue Manager's Instantiate Prefabs component.
- Add your quest log window directly to a Canvas that's a child of the Dialogue Manager.
- Add a Dialogue System Corgi Event Listener component to the Dialogue Manager if not already present.
- Configure the quest log window's OnOpen() UnityEvent to call the Dialogue Manager's DialogueSystemCorgiEventListener.PauseCorgi method, and tick the checkbox. (The checkbox tells the Dialogue System to allow auto-focus of UI elements.)
- Configure OnClose() to call DialogueSystemCorgiEventListener.UnpauseCorgi.
Re: Corgi Engine With Quest Log
Posted: Sat Oct 08, 2022 8:47 pm
by BWLGeorge
Thanks for the quick fix!
The ConversationZone script is now getting a compiler error of 'ConversationZone.OnDisable()': no suitable method found to override
Re: Corgi Engine With Quest Log
Posted: Sat Oct 08, 2022 8:51 pm
by Tony Li
Can you back up your project and update to the latest Corgi Engine version?
If not, then edit ConversationZone.cs. Locate the OnDisable() method and remove the word "override". Then remove the line "base.OnDisable();" if present in that method.
Re: Corgi Engine With Quest Log
Posted: Sat Oct 08, 2022 10:40 pm
by BWLGeorge
Whew, updating Corgi messed up a whole bunch of stuff but it was stuff I had to get around fixing anyway, so it took me a while but now it all seems to be working and opening the journal pauses the game like it should!
Re: Corgi Engine With Quest Log
Posted: Sun Oct 09, 2022 9:15 am
by Tony Li
I'm glad it's all working now. Thanks for the update!
Re: Corgi Engine With Quest Log
Posted: Sat Jan 07, 2023 9:01 pm
by BWLGeorge
Howdy! I noticed in the changelog it mentioned that the way to make quest logs work with Corgi was updated in November, and I've noticed now the game no longer pauses when opening the quest log and the Pausecorgi and Unpause corgi methods are no longer on the Dialogue System Corgi Event listener. Wondering if you could share what the updated method is for getting this to work