Hi, I was trying out the Corgi integration but there's some minor issues with the ConversationZone component, not sure if it's a configuration issue on my part or something with the script itself.
By default, conversations trigger with the same button as the jump, so if I change the Input settings to, for example, interact with the up key and jump with Z, they both work as expected, but I can't jump when I'm inside an active Conversation Zone (prompt showing up), so I can jump in midair if "can only activate if grounded" is true, or not at all if it's false, for example. This happens on the Corgi Support scene too, and Corgi's Dialogue Zone doesn't seem to have this issue.
Another problem is that "can only activate if grounded" doesn't activate the zone if you were in midair when entering. I figured it'd activate upon landing but it doesn't. This issue might come from the original Corgi script though.
Also, there doesn't seem to be a way to hide the button prompt ONLY during the conversation. Hide after use hides it permanently and otherwise it shows up during the conversation as well. Since the promp object is instantiated at runtime I can't figure out how to make it show up again with a trigger for example. Maybe there's a better way?
Any help is appreciated, thanks!
Small issues with Corgi
Re: Small issues with Corgi
Hi,
All of that functionality is inherited from Corgi's ButtonActivated class. It looks like recent updates to Corgi broke some things or changed the API. I'll take a look at the integration and see what I can do to work around it. I do have a question, though:
All of that functionality is inherited from Corgi's ButtonActivated class. It looks like recent updates to Corgi broke some things or changed the API. I'll take a look at the integration and see what I can do to work around it. I do have a question, though:
Under what conditions does Corgi's Dialogue Zone work differently? It seems to work exactly like the integration's Conversation Zone. If I enter the zone in midair and Can Only Activate If Grounded is ticked, then it doesn't register as activateable and it doesn't show the prompt. And, regardless of Can Only Activate If Grounded's state, the player can't jump while inside the Dialogue Zone. (I'm testing with Corgi 6.0.)alfa995 wrote: ↑Sat Sep 21, 2019 3:06 pmBy default, conversations trigger with the same button as the jump, so if I change the Input settings to, for example, interact with the up key and jump with Z, they both work as expected, but I can't jump when I'm inside an active Conversation Zone (prompt showing up), so I can jump in midair if "can only activate if grounded" is true, or not at all if it's false, for example. This happens on the Corgi Support scene too, and Corgi's Dialogue Zone doesn't seem to have this issue.
Re: Small issues with Corgi
The Dialogue System Extras page now has an updated integration package for Corgi. It adds a checkbox Hide Prompt Only During Conversation that allows the prompt to reappear when re-entering the Conversation Zone.
The other issues you reported are core Corgi issues. (The prompt thing is, too, but unlike the other issues it didn't require dramatic changes to Corgi to add that checkbox.) I suggest contacting the Corgi dev if you want the behavior changed. For the midair entry issue, Renaud may need to add a method that re-checks conditions in OnTriggerStay2D, which has its own performance considerations. And jumping inside ButtonActivated zones is designed to work the way it does, although you might convince him to add an option to handle it differently.
The other issues you reported are core Corgi issues. (The prompt thing is, too, but unlike the other issues it didn't require dramatic changes to Corgi to add that checkbox.) I suggest contacting the Corgi dev if you want the behavior changed. For the midair entry issue, Renaud may need to add a method that re-checks conditions in OnTriggerStay2D, which has its own performance considerations. And jumping inside ButtonActivated zones is designed to work the way it does, although you might convince him to add an option to handle it differently.
Re: Small issues with Corgi
On Corgi 6.0, after changing the Input settings so that jump and interact use different keys, I tried out Corgi's Mesa1 scene. The NPC at the start has a Dialogue Zone and I can jump within it no problem. Then I check the Corgi Support scene in the integration package, but jumping doesn't work within the Conversation Zones.
Thank you for going through the trouble of making that extra checkbox option! I may need to do some changes anyway though, for the prompt to appear immediately after the conversation ends, rather than making the player re-enter the zone. It's probably just a matter of overriding a few methods so it shouldn't be too bad, but I still need help on the jumping issue, totally lost on why that happens. I can use every other ability within Conversation Zones and if I disable "Should update state" I can jump no problem but can't start the conversation anymore. Maybe that helps?
Thank you for going through the trouble of making that extra checkbox option! I may need to do some changes anyway though, for the prompt to appear immediately after the conversation ends, rather than making the player re-enter the zone. It's probably just a matter of overriding a few methods so it shouldn't be too bad, but I still need help on the jumping issue, totally lost on why that happens. I can use every other ability within Conversation Zones and if I disable "Should update state" I can jump no problem but can't start the conversation anymore. Maybe that helps?
Re: Small issues with Corgi
Good point about showing the prompt again as soon as the conversation ends. I just made that the default. You can download the latest from the Extras page. (Download DS_Corgi_Support_2019-09-22)
The player can jump in Mesa1's DialogueZone because the Prevent Jump When In Zone checkbox is unticked on the player prefab's CharacterButtonActivation component. If you untick the checkbox on the Dialogue System example's PixelCorgi_DialogueExample prefab, you'll be able to jump there, too.
The player can jump in Mesa1's DialogueZone because the Prevent Jump When In Zone checkbox is unticked on the player prefab's CharacterButtonActivation component. If you untick the checkbox on the Dialogue System example's PixelCorgi_DialogueExample prefab, you'll be able to jump there, too.
Re: Small issues with Corgi
Oh I had completely missed that checkbox, yeah the jumping all works now, and using OnTriggerStay2D gives the behavior I needed, will just have to check the performance like you mentioned. Thank you so much!