Commit 69ee4973 authored by ElderLich's avatar ElderLich

Bug Fix: Fix deck editor cursor restore after card navigation

Preserve the mouse position when deck editor card navigation hides the cursor, and restore it only once when the cursor reappears so the cursor no longer resets or gets stuck in place.
parent 783fa82a
...@@ -111,6 +111,8 @@ namespace MDPro3 ...@@ -111,6 +111,8 @@ namespace MDPro3
private InputAction gamepadStartAction; private InputAction gamepadStartAction;
private Vector2 lastMousePos; private Vector2 lastMousePos;
private Vector2 cursorRestorePos;
private bool hasCursorRestorePos;
private Gamepad pad; private Gamepad pad;
private Coroutine stopRumbleAfterTimeCoroutine; private Coroutine stopRumbleAfterTimeCoroutine;
...@@ -437,9 +439,20 @@ namespace MDPro3 ...@@ -437,9 +439,20 @@ namespace MDPro3
Cursor.lockState = CursorLockMode.None; Cursor.lockState = CursorLockMode.None;
Cursor.visible = true; Cursor.visible = true;
if (hasCursorRestorePos && Mouse.current != null)
{
Mouse.current.WarpCursorPosition(cursorRestorePos);
MousePos = cursorRestorePos;
lastMousePos = cursorRestorePos;
hasCursorRestorePos = false;
ignoreNextCursorMove = true;
}
} }
private void HideCursor() private void HideCursor()
{ {
cursorRestorePos = MousePos;
hasCursorRestorePos = true;
ignoreNextCursorMove = true; ignoreNextCursorMove = true;
Cursor.lockState = CursorLockMode.Locked; Cursor.lockState = CursorLockMode.Locked;
Cursor.visible = false; Cursor.visible = false;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment