Block snap left/right when textbox is active

This commit is contained in:
Tyfon
2024-08-29 01:21:35 -07:00
parent ce6ea3fcc1
commit d481368cce
5 changed files with 16 additions and 8 deletions

View File

@@ -46,9 +46,7 @@ public static class ContextMenuShortcutPatches
return; return;
} }
if (!Settings.ItemContextBlocksTextInputs.Value && if (!Settings.ItemContextBlocksTextInputs.Value && Plugin.TextboxActive())
EventSystem.current?.currentSelectedGameObject != null &&
EventSystem.current.currentSelectedGameObject.GetComponent<TMP_InputField>() != null)
{ {
return; return;
} }

View File

@@ -73,6 +73,11 @@ public class GridWindowButtonsPatch : ModulePatch
public void Update() public void Update()
{ {
if (Plugin.TextboxActive())
{
return;
}
bool isTopWindow = window.transform.GetSiblingIndex() == window.transform.parent.childCount - 1; bool isTopWindow = window.transform.GetSiblingIndex() == window.transform.parent.childCount - 1;
if (Settings.SnapLeftKeybind.Value.IsDown() && isTopWindow) if (Settings.SnapLeftKeybind.Value.IsDown() && isTopWindow)
{ {

View File

@@ -223,9 +223,7 @@ public static class HideoutSearchPatches
[PatchPrefix] [PatchPrefix]
public static bool Prefix(ECommand command, ref InputNode.ETranslateResult __result) public static bool Prefix(ECommand command, ref InputNode.ETranslateResult __result)
{ {
if (command == ECommand.Enter && if (command == ECommand.Enter && Plugin.TextboxActive())
EventSystem.current?.currentSelectedGameObject != null &&
EventSystem.current.currentSelectedGameObject.GetComponent<TMP_InputField>() != null)
{ {
__result = InputNode.ETranslateResult.Block; __result = InputNode.ETranslateResult.Block;
return false; return false;

View File

@@ -35,8 +35,7 @@ public static class ScrollPatches
private static bool HandleInput(ScrollRect scrollRect) private static bool HandleInput(ScrollRect scrollRect)
{ {
if (EventSystem.current?.currentSelectedGameObject != null && if (Plugin.TextboxActive())
EventSystem.current.currentSelectedGameObject.GetComponent<TMP_InputField>() != null)
{ {
return false; return false;
} }

View File

@@ -2,6 +2,8 @@
using BepInEx.Bootstrap; using BepInEx.Bootstrap;
using Comfort.Common; using Comfort.Common;
using EFT; using EFT;
using TMPro;
using UnityEngine.EventSystems;
namespace UIFixes; namespace UIFixes;
@@ -84,6 +86,12 @@ public class Plugin : BaseUnityPlugin
return inRaid.HasValue && inRaid.Value; return inRaid.HasValue && inRaid.Value;
} }
public static bool TextboxActive()
{
return EventSystem.current?.currentSelectedGameObject != null &&
EventSystem.current.currentSelectedGameObject.GetComponent<TMP_InputField>() != null;
}
private static bool? IsFikaPresent; private static bool? IsFikaPresent;
public static bool FikaPresent() public static bool FikaPresent()