/// <summary> /// Lock cursor under given name. /// </summary> /// <param name="source"></param> /// <param name="state"></param> /// <param name="forceNewState">Force to update cursor in this frame.</param> public static void LockCursor(string source, bool state, bool forceNewState = false) { if (string.IsNullOrEmpty(source)) { source = "default"; } if (CursorLock.ContainsKey(source)) { CursorLock[source] = state; } else { CursorLock.Add(source, state); } CursorLocked = true; foreach (var i in CursorLock) { if (i.Value) { continue; } CursorLocked = false; break; } if (Instance == null || !forceNewState) { return; } Instance.InternalUpdateCursorState(); }
/// <summary> /// Gets state of cursor lock. /// </summary> public static bool GetCursorLock(string source) { return(CursorLock.ContainsKey(source) && CursorLock[source]); }