Corgi Integration Question:
I feel like I'm going crazy. I've reviewed the documentation, watched the videos, and absolutely didn't want to bother before I posted this question. I feel like this topic should have been my 1:1 issue but for some reason I cannot resolve my problem following the instructions here: https://www.pixelcrushers.com/phpbb/vie ... php?t=6809
I have a very simple UI that I want to keep by utilizing Dialogue System's UI that I have customized rather than what Corgi ships with. After recently integrating Corgi, I cannot seem to get my old panels to work.
Here are what I perceive are the relevant settings to share:
However, no matter which override settings I attempt to put in, even selecting the NPC to use Panel 0 (which "NPC Subtitle" certainly is), when the dialogue does play it comes through to this Input Field or whatever this is:
I get the same result if I set these settings to "Default".
Using built in Dialogue System UI rather than Corgi UI
Re: Using built in Dialogue System UI rather than Corgi UI
Hi,
Find your dialogue UI in the hierarchy or as a prefab in your Project view, and assign it to the Dialogue Manager's Display Settings > Dialogue UI field.
If that doesn't do the trick for some reason, please let me know if there are any errors or warnings in the Console window.
Find your dialogue UI in the hierarchy or as a prefab in your Project view, and assign it to the Dialogue Manager's Display Settings > Dialogue UI field.
If that doesn't do the trick for some reason, please let me know if there are any errors or warnings in the Console window.
Re: Using built in Dialogue System UI rather than Corgi UI
I think this is set up correct?
I'm not sure if importing Corgi may have adjusted something about the way this was setup but this looks normal.
I am, however, receiving the following warning and error (the NRE from CorgiEngine's Level Manager is not something I have toggled or otherwise touched so I assumed it wasn't an issue, and alert texts are not being used at all).
I'm not sure if importing Corgi may have adjusted something about the way this was setup but this looks normal.
I am, however, receiving the following warning and error (the NRE from CorgiEngine's Level Manager is not something I have toggled or otherwise touched so I assumed it wasn't an issue, and alert texts are not being used at all).
Re: Using built in Dialogue System UI rather than Corgi UI
Nevermind it looks like a substantial amount of stuff may have been unassigned from my custom setup on the Corgi import.
Thanks again for the quick response.
Thanks again for the quick response.
Re: Using built in Dialogue System UI rather than Corgi UI
If you run into any issues after getting all of the assignments straightened out, let me know how I can help.
Re: Using built in Dialogue System UI rather than Corgi UI
Thank you so much Tony!
Hopefully this can be disposed of pretty quick:
After setting everything back up with the assigned fields going where they ought to, it seems like I don't need to utilize Corgi features at all for dialogue (not sure why I thought that if the Engine was in the game that I *must* use a Conversation Zone for the trigger). Therefore, I simply won't use Corgi for Dialogue related events.
However, is there any literature out there regarding the two save systems interacting with one another I can read up on? (I.e., Dialogue System's Save/Load vs. Corgi's Save/Load?). Specifically the two talking to one another and/or best practices for managing data across scenes?
Hopefully this can be disposed of pretty quick:
After setting everything back up with the assigned fields going where they ought to, it seems like I don't need to utilize Corgi features at all for dialogue (not sure why I thought that if the Engine was in the game that I *must* use a Conversation Zone for the trigger). Therefore, I simply won't use Corgi for Dialogue related events.
However, is there any literature out there regarding the two save systems interacting with one another I can read up on? (I.e., Dialogue System's Save/Load vs. Corgi's Save/Load?). Specifically the two talking to one another and/or best practices for managing data across scenes?
Re: Using built in Dialogue System UI rather than Corgi UI
Hi,
It may be a good idea to use a ConversationZone component because it also pauses the player characters during conversations. However, you can do this on your own if you prefer not to use a ConversationZone.
For saving/loading, you can choose to use the Dialogue System's save/load/scene changer, or Corgi's.
If you use Corgi's, please see this: How To: Use Corgi / TopDown Engine MMSceneLoadingManager. Also set up the Dialogue System's save system components see: Saving & Loading.
It may be a good idea to use a ConversationZone component because it also pauses the player characters during conversations. However, you can do this on your own if you prefer not to use a ConversationZone.
For saving/loading, you can choose to use the Dialogue System's save/load/scene changer, or Corgi's.
If you use Corgi's, please see this: How To: Use Corgi / TopDown Engine MMSceneLoadingManager. Also set up the Dialogue System's save system components see: Saving & Loading.
Re: Using built in Dialogue System UI rather than Corgi UI
You're just amazing Tony, thank you so much! Everything is working and the literature you provided was super on point.
Is there a simple way to (rather than disable player input using a Conversation Zone) to instead preempt Corgi controls etc. if Dialogue Manager has a subtitle on screen?
Basically the inverse of what Conversation Zone would handle, where we want only a player to be able to *only* respond to the Dialogue prompt until it has finished and only then be able to do something like use the "i" key to open inventory?
No rush responding to this, you've been more than helpful enough.
Is there a simple way to (rather than disable player input using a Conversation Zone) to instead preempt Corgi controls etc. if Dialogue Manager has a subtitle on screen?
Basically the inverse of what Conversation Zone would handle, where we want only a player to be able to *only* respond to the Dialogue prompt until it has finished and only then be able to do something like use the "i" key to open inventory?
No rush responding to this, you've been more than helpful enough.
Re: Using built in Dialogue System UI rather than Corgi UI
Hi,
You can add a script to the Dialogue Manager that has OnConversationStart(Transform) and OnConversationEnd(Transform) special methods. Here's a basic example:
FreezePlayersDuringConversations .cs
It freezes the player character(s) during conversations. However, it doesn't stop their movement animation, etc, so they may loop animation during the conversation. You can selectively copy code from ConversationZone if you want to handle that kind of stuff.
You can add a script to the Dialogue Manager that has OnConversationStart(Transform) and OnConversationEnd(Transform) special methods. Here's a basic example:
FreezePlayersDuringConversations .cs
Code: Select all
using UnityEngine;
public class FreezePlayersDuringConversations : MonoBehaviour
{
void OnConversationStart(Transform actor) => MoreMountains.CorgiEngine.LevelManager.Instance.FreezeCharacters();
void OnConversationEnd(Transform actor) => MoreMountains.CorgiEngine.LevelManager.Instance.UnFreezeCharacters();
}