Page 1 of 1

Cursor Frozen on Quest Log Window

Posted: Sun Jul 21, 2024 5:24 pm
by eddieohio
I'm using the Pixel Crushers dialogue system with Adventure Creator integration. I'm using the built in quest feature with the dialogue system.

During dialogue, if I access the Quest Log Window, I'm able to navigate around the various quests and tabs.

However, if no dialogue is playing, the cursor freezes in the middle when clicked (the circle for the cursor goes from regular size down a few sizes) and I cannot move around the Quest Log menu.

Tried (left ticked and unticked one at a time):
1. Enforce cursor state
2. Enforce cursor on pause
3. Control Graphic Raycast
4. Show Cursor While Enabled Script (though not sure if it's on the right component)
5. Always autofocus

I've tried multiple ways to unlock the cursor with the appropriate settings within Pixel Crushers but to no avail. I don't know if this is a Pixel Crushers issue or an Adventure Creator issue.

Re: Cursor Frozen on Quest Log Window

Posted: Sun Jul 21, 2024 5:49 pm
by Tony Li
Hi,

Technically it's Adventure Creator. (AC hides the cursor when its game state is in the regular gameplay game state.)

Can you tick the quest log window's Pause While Open and Unlock Cursor While Open checkboxes? That should get around it.

Re: Cursor Frozen on Quest Log Window

Posted: Sun Jul 21, 2024 6:05 pm
by eddieohio
Thanks, Tony.

Yes, tried those and still the same result. Reached out to AC for support but waiting to hear back. I know there's a way to unlock the cursor with action lists but am not sure how to append those to a UI object in AC.

Re: Cursor Frozen on Quest Log Window

Posted: Sun Jul 21, 2024 10:01 pm
by Tony Li
Hi,

I think ultimately what you want to do is set AC's game state to a state that doesn't lock the cursor. You can temporarily add the ShowGameState script to a GameObject such as the Dialogue Manager to see what game state AC is in. This is going to depend a bit on your AC Game Editor settings.

If you're comfortable with a bit of scripting, you can add a script like this to your quest log window:

ForceCursorUnlockedUtility.cs

Code: Select all

using UnityEngine;
using AC;
public class ForceCursorUnlockedUtility : MonoBehaviour
{
    public void ForceCursorUnlocked()
    {
        KickStarter.playerInput.forceGameplayCursor = ForceGameplayCursor.KeepUnlocked;
    }
    public void UnforceCursorUnlocked()
    {
        KickStarter.playerInput.forceGameplayCursor = ForceGameplayCursor.None;
    }
}
Then configure the quest log window's OnOpen() UnityEvent to call ForceCursorUnlockedUtility.ForceCursorUnlocked, and the OnClose() UnityEvent to call ForceCursorUnlockedUtility.UnforceCursorUnlocked.

Re: Cursor Frozen on Quest Log Window

Posted: Mon Jul 22, 2024 5:41 am
by eddieohio
Excellent, got it working!

Connecting it to the AC menu as a UI Prefab (not UI Scene or AC) along with creating action lists for on/off all worked. I also took away the "Close" button on the menu and replaced it with a toggle key on the keyboard as that was interferring with returning to normal play. It's smooth now and working exactly as intended.

Re: Cursor Frozen on Quest Log Window

Posted: Mon Jul 22, 2024 7:59 am
by Tony Li
Great! I'm glad you got it working.