/// <summary>Setup an input mode that allows only the UI to respond to user input.</summary> public static void SetInputMode_UIOnlyEx(APlayerController Target, UWidget InWidgetToFocus, EMouseLockMode InMouseLockMode = EMouseLockMode.DoNotLock) { SetInputMode_UIOnlyEx(IntPtr.Zero, Target, InWidgetToFocus, (int)InMouseLockMode); }
internal static unsafe void Invoke(PlayerController PlayerController, Widget InWidgetToFocus, EMouseLockMode InMouseLockMode) { long *p = stackalloc long[] { 0L, 0L, 0L, 0L }; byte *b = (byte *)p; *((IntPtr *)(b + 0)) = PlayerController; *((IntPtr *)(b + 8)) = InWidgetToFocus; *(b + 16) = (byte)InMouseLockMode; Main.GetProcessEvent(WidgetBlueprintLibrary.DefaultObject, SetInputMode_UIOnlyEx_ptr, new IntPtr(p));; } }
/// <summary>Setup an input mode that allows only the UI to respond to user input, and if the UI doesn't handle it player input / player controller gets a chance.</summary> public static void SetInputMode_GameAndUIEx(APlayerController Target, UWidget InWidgetToFocus, EMouseLockMode InMouseLockMode = EMouseLockMode.DoNotLock, bool bHideCursorDuringCapture = true) { SetInputMode_GameAndUIEx(IntPtr.Zero, Target, InWidgetToFocus, (int)InMouseLockMode, bHideCursorDuringCapture?1:0); }