#pragma once

/*
* SDK generated by Dumper-7
*
* https://github.com/Encryqed/Dumper-7
*/

// Package: UINavigation

#include "Basic.hpp"

#include "InputCore_structs.hpp"
#include "Engine_structs.hpp"


SDK_NAMESPACE_START

// Enum UINavigation.EInputType
// NumValues: 0x0005
enum class EInputType : uint8
{
	None                                     = 0,
	Keyboard                                 = 1,
	Mouse                                    = 2,
	Gamepad                                  = 3,
	EInputType_MAX                           = 4,
};

// Enum UINavigation.EAutoHideMouse
// NumValues: 0x0004
enum class EAutoHideMouse : uint8
{
	Never                                    = 0,
	Gamepad                                  = 1,
	GamepadAndKeyboard                       = 2,
	EAutoHideMouse_MAX                       = 3,
};

// Enum UINavigation.EAxisType
// NumValues: 0x0004
enum class EAxisType : uint8
{
	None                                     = 0,
	Positive                                 = 1,
	Negative                                 = 2,
	EAxisType_MAX                            = 3,
};

// Enum UINavigation.ECountdownPhase
// NumValues: 0x0004
enum class ECountdownPhase : uint8
{
	None                                     = 0,
	First                                    = 1,
	Looping                                  = 2,
	ECountdownPhase_MAX                      = 3,
};

// Enum UINavigation.EInputAxis
// NumValues: 0x0004
enum class EInputAxis : uint8
{
	X                                        = 0,
	Y                                        = 1,
	Z                                        = 2,
	EInputAxis_MAX                           = 3,
};

// Enum UINavigation.EInputDisplayType
// NumValues: 0x0004
enum class EInputDisplayType : uint8
{
	Icon                                     = 0,
	Text                                     = 1,
	Both                                     = 2,
	EInputDisplayType_MAX                    = 3,
};

// Enum UINavigation.EInputHoldBehavior
// NumValues: 0x0004
enum class EInputHoldBehavior : uint8
{
	DontAllow                                = 0,
	AllowIfHeld                              = 1,
	Force                                    = 2,
	EInputHoldBehavior_MAX                   = 3,
};

// Enum UINavigation.EInputMode
// NumValues: 0x0005
enum class EInputMode : uint8
{
	None                                     = 0,
	GameUI                                   = 1,
	Game                                     = 2,
	UI                                       = 3,
	EInputMode_MAX                           = 4,
};

// Enum UINavigation.EInputRestriction
// NumValues: 0x0007
enum class EInputRestriction : uint8
{
	None                                     = 0,
	Keyboard                                 = 1,
	Mouse                                    = 2,
	Keyboard_Mouse                           = 3,
	Gamepad                                  = 4,
	VR                                       = 5,
	EInputRestriction_MAX                    = 6,
};

// Enum UINavigation.ENavigationEvent
// NumValues: 0x0003
enum class ENavigationEvent : uint8
{
	OnSelect                                 = 0,
	OnNavigate                               = 1,
	ENavigationEvent_MAX                     = 2,
};

// Enum UINavigation.EReceiveInputType
// NumValues: 0x0004
enum class EReceiveInputType : uint8
{
	None                                     = 0,
	Action                                   = 1,
	Axis                                     = 2,
	EReceiveInputType_MAX                    = 3,
};

// Enum UINavigation.ERevertRebindReason
// NumValues: 0x0008
enum class ERevertRebindReason : uint8
{
	None                                     = 0,
	RestrictionMismatch                      = 1,
	NonWhitelistedKey                        = 2,
	BlacklistedKey                           = 3,
	UsedBySameInputGroup                     = 4,
	UsedBySameInput                          = 5,
	SwapRejected                             = 6,
	ERevertRebindReason_MAX                  = 7,
};

// Enum UINavigation.ESelectorPosition
// NumValues: 0x000B
enum class ESelectorPosition : uint8
{
	None                                     = 0,
	Position_Center                          = 1,
	Position_Top                             = 2,
	Position_Bottom                          = 3,
	Position_Left                            = 4,
	Position_Right                           = 5,
	Position_Top_Right                       = 6,
	Position_Top_Left                        = 7,
	Position_Bottom_Right                    = 8,
	Position_Bottom_Left                     = 9,
	ESelectorPosition_MAX                    = 10,
};

// Enum UINavigation.ETargetColumn
// NumValues: 0x0004
enum class ETargetColumn : uint8
{
	Left                                     = 0,
	Middle                                   = 1,
	Right                                    = 2,
	ETargetColumn_MAX                        = 3,
};

// Enum UINavigation.EThumbstickAsMouse
// NumValues: 0x0004
enum class EThumbstickAsMouse : uint8
{
	None                                     = 0,
	LeftThumbstick                           = 1,
	RightThumbstick                          = 2,
	EThumbstickAsMouse_MAX                   = 3,
};

// Enum UINavigation.EButtonStyle
// NumValues: 0x0005
enum class EButtonStyle : uint8
{
	None                                     = 0,
	Normal                                   = 1,
	Hovered                                  = 2,
	Pressed                                  = 3,
	EButtonStyle_MAX                         = 4,
};

// Enum UINavigation.EComponentAction
// NumValues: 0x0006
enum class EComponentAction : uint8
{
	OnClicked                                = 0,
	OnPressed                                = 1,
	OnReleased                               = 2,
	OnNavigatedTo                            = 3,
	OnNavigatedFrom                          = 4,
	EComponentAction_MAX                     = 5,
};

// ScriptStruct UINavigation.InputCollisionData
// 0x0058 (0x0058 - 0x0000)
struct FInputCollisionData final
{
public:
	class FText                                   CurrentInputText;                                  // 0x0000(0x0010)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	class FText                                   CollidingInputText;                                // 0x0010(0x0010)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	int32                                         CurrentKeyIndex;                                   // 0x0020(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         CollidingKeyIndex;                                 // 0x0024(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FKey                                   CurrentInputKey;                                   // 0x0028(0x0018)(Edit, BlueprintVisible, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FKey                                   PressedKey;                                        // 0x0040(0x0018)(Edit, BlueprintVisible, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FInputCollisionData;

// ScriptStruct UINavigation.InputContainerEnhancedActionData
// 0x0038 (0x0038 - 0x0000)
struct FInputContainerEnhancedActionData final
{
public:
	class FText                                   DisplayName;                                       // 0x0000(0x0010)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	class UInputAction*                           Action;                                            // 0x0010(0x0008)(Edit, BlueprintVisible, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EInputAxis                                    Axis;                                              // 0x0018(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EAxisType                                     AxisScale;                                         // 0x0019(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EInputHoldBehavior                            HoldBehavior;                                      // 0x001A(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1B[0x5];                                       // 0x001B(0x0005)(Fixing Size After Last Property [ Dumper-7 ])
	class UInputAction*                           InputActionToUpdate;                               // 0x0020(0x0008)(Edit, BlueprintVisible, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<int32>                                 InputGroupsOverride;                               // 0x0028(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FInputContainerEnhancedActionData;

// ScriptStruct UINavigation.InputContainerEnhancedActionDataArray
// 0x0020 (0x0020 - 0x0000)
struct FInputContainerEnhancedActionDataArray final
{
public:
	TArray<int32>                                 InputGroups;                                       // 0x0000(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<struct FInputContainerEnhancedActionData> Actions;                                        // 0x0010(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FInputContainerEnhancedActionDataArray;

// ScriptStruct UINavigation.InputIconMapping
// 0x0028 (0x0030 - 0x0008)
struct FInputIconMapping final : public FTableRowBase
{
public:
	TSoftObjectPtr<class UTexture2D>              InputIcon;                                         // 0x0008(0x0028)(Edit, BlueprintVisible, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FInputIconMapping;

// ScriptStruct UINavigation.UINavEnhancedActionKeyMapping
// 0x0060 (0x0060 - 0x0000)
struct FUINavEnhancedActionKeyMapping final
{
public:
	TSoftObjectPtr<class UInputAction>            Action;                                            // 0x0000(0x0028)(Edit, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FKey                                   Key;                                               // 0x0028(0x0018)(Edit, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<TSoftObjectPtr<class UInputTrigger>>   Triggers;                                          // 0x0040(0x0010)(Edit, ZeroConstructor, UObjectWrapper, NativeAccessSpecifierPublic)
	TArray<TSoftObjectPtr<class UInputModifier>>  Modifiers;                                         // 0x0050(0x0010)(Edit, ZeroConstructor, UObjectWrapper, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FUINavEnhancedActionKeyMapping;

// ScriptStruct UINavigation.InputMappingArray
// 0x0010 (0x0010 - 0x0000)
struct FInputMappingArray final
{
public:
	TArray<struct FUINavEnhancedActionKeyMapping> InputMappings;                                     // 0x0000(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FInputMappingArray;

// ScriptStruct UINavigation.InputNameMapping
// 0x0010 (0x0018 - 0x0008)
struct FInputNameMapping final : public FTableRowBase
{
public:
	class FText                                   InputText;                                         // 0x0008(0x0010)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FInputNameMapping;

// ScriptStruct UINavigation.InputRebindData
// 0x0020 (0x0028 - 0x0008)
struct FInputRebindData final : public FTableRowBase
{
public:
	class FText                                   InputText;                                         // 0x0008(0x0010)(Edit, BlueprintVisible, NativeAccessSpecifierPublic)
	TArray<int32>                                 InputGroups;                                       // 0x0018(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FInputRebindData;

// ScriptStruct UINavigation.PlatformConfigData
// 0x0020 (0x0020 - 0x0000)
struct FPlatformConfigData final
{
public:
	class UDataTable*                             GamepadKeyIconData;                                // 0x0000(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UDataTable*                             GamepadKeyNameData;                                // 0x0008(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UInputMappingContext*                   UINavInputContextOverride;                         // 0x0010(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bCanUseKeyboardMouse;                              // 0x0018(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_19[0x7];                                       // 0x0019(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FPlatformConfigData;

// ScriptStruct UINavigation.ComponentActions
// 0x0010 (0x0010 - 0x0000)
struct FComponentActions final
{
public:
	TArray<class UUINavComponentAction*>          Actions;                                           // 0x0000(0x0010)(Edit, BlueprintVisible, ExportObject, ZeroConstructor, ContainsInstancedReference, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FComponentActions;

// ScriptStruct UINavigation.Axis2D_Keys
// 0x0030 (0x0030 - 0x0000)
struct alignas(0x08) FAxis2D_Keys final
{
public:
	uint8                                         Pad_0[0x30];                                       // 0x0000(0x0030)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FAxis2D_Keys;

SDK_NAMESPACE_END
