Custom Controllers and ORK Framework not working well
Posted: Sun Apr 12, 2020 2:50 pm
So I brought this up on the ORK Framework forums and they recommended coming here as well. Here's the situation:
I'm using ORK Framework, a custom player controller, and Quest Machine. (I also hope to be adding in Dialogue System at some point, but we'll jump over that canyon when we get there.) ORK has a system setup where, during an event, custom controls are blocked so that cursor and keyboard controls are returned to the player, so that the player can do thing like use a menu, click on buttons, etc. etc.
The problem with QM's ORK integration is that QM does not seem to listen to ORK's "blocking event" when a QM dialogue is called. I have an object, I have interaction, and when I go to interact with the Quest Giver the Quest Machine dialogue pops up. Unfortunately, I cannot use my mouse or keyboard to accept or decline the dialogue because my custom control went from being blocked by ORK and then unblocked instantly.
The issue seems to stem from timing. There's helpful chaps on the ORK forum helping me with some custom coding that might do the trick, but I was wondering if, in future, something might be done on the QM+ORK bridge that will help others in my situation.
The current suggestion: "startDialogueNode does not wait for Quest Machine dialogue to be finished. You can ask PixelCrusher to add that feature or try modifying StartDialogueStep.CS to wait until dialogue is finished."
Also, since I'm planning to be adding Dialogue System at some point, I imagine the same thing would need to be done for Dialogue System, to get the ORK events to wait until a dialogue is finished. Some sort of message between QM/Dialogue system and ORK that says "dialogue over" I'm assuming.
Anyway, thanks for any help in this regard!
I'm using ORK Framework, a custom player controller, and Quest Machine. (I also hope to be adding in Dialogue System at some point, but we'll jump over that canyon when we get there.) ORK has a system setup where, during an event, custom controls are blocked so that cursor and keyboard controls are returned to the player, so that the player can do thing like use a menu, click on buttons, etc. etc.
The problem with QM's ORK integration is that QM does not seem to listen to ORK's "blocking event" when a QM dialogue is called. I have an object, I have interaction, and when I go to interact with the Quest Giver the Quest Machine dialogue pops up. Unfortunately, I cannot use my mouse or keyboard to accept or decline the dialogue because my custom control went from being blocked by ORK and then unblocked instantly.
The issue seems to stem from timing. There's helpful chaps on the ORK forum helping me with some custom coding that might do the trick, but I was wondering if, in future, something might be done on the QM+ORK bridge that will help others in my situation.
The current suggestion: "startDialogueNode does not wait for Quest Machine dialogue to be finished. You can ask PixelCrusher to add that feature or try modifying StartDialogueStep.CS to wait until dialogue is finished."
Also, since I'm planning to be adding Dialogue System at some point, I imagine the same thing would need to be done for Dialogue System, to get the ORK events to wait until a dialogue is finished. Some sort of message between QM/Dialogue system and ORK that says "dialogue over" I'm assuming.
Anyway, thanks for any help in this regard!