Cursor Frozen on Quest Log Window

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
eddieohio
Posts: 6
Joined: Wed Mar 27, 2024 7:11 pm

Cursor Frozen on Quest Log Window

Post 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.
User avatar
Tony Li
Posts: 22107
Joined: Thu Jul 18, 2013 1:27 pm

Re: Cursor Frozen on Quest Log Window

Post 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.
eddieohio
Posts: 6
Joined: Wed Mar 27, 2024 7:11 pm

Re: Cursor Frozen on Quest Log Window

Post 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.
User avatar
Tony Li
Posts: 22107
Joined: Thu Jul 18, 2013 1:27 pm

Re: Cursor Frozen on Quest Log Window

Post 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.
eddieohio
Posts: 6
Joined: Wed Mar 27, 2024 7:11 pm

Re: Cursor Frozen on Quest Log Window

Post 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.
User avatar
Tony Li
Posts: 22107
Joined: Thu Jul 18, 2013 1:27 pm

Re: Cursor Frozen on Quest Log Window

Post by Tony Li »

Great! I'm glad you got it working.
Post Reply