#pragma once

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

// Package: InputRebinding

#include "Basic.hpp"

#include "InputCore_structs.hpp"
#include "Commons_structs.hpp"


namespace SDK
{

// Enum InputRebinding.EInputRebindingDevice
// NumValues: 0x0005
enum class EInputRebindingDevice : uint8
{
	None                                     = 0,
	Any                                      = 1,
	MouseAndKeyboard                         = 2,
	Pad                                      = 3,
	EInputRebindingDevice_MAX                = 4,
};

// Enum InputRebinding.EActionType
// NumValues: 0x0005
enum class EActionType : uint8
{
	Action                                   = 0,
	Axis                                     = 1,
	Axis_Plus                                = 2,
	Axis_Minus                               = 3,
	EActionType_MAX                          = 4,
};

// Enum InputRebinding.EInputHandleType
// NumValues: 0x0006
enum class EInputHandleType : uint8
{
	Action                                   = 0,
	Axis                                     = 1,
	Axis_Plus                                = 2,
	Axis_Minus                               = 3,
	Axis_2D                                  = 4,
	EInputHandleType_MAX                     = 5,
};

// ScriptStruct InputRebinding.ActionBind
// 0x0020 (0x0020 - 0x0000)
struct FActionBind final
{
public:
	class FName                                   Name;                                              // 0x0000(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<struct FKey>                           Keys;                                              // 0x0008(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	bool                                          Toggleable;                                        // 0x0018(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_19[0x7];                                       // 0x0019(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FActionBind;

// ScriptStruct InputRebinding.FloatKey
// 0x0020 (0x0020 - 0x0000)
struct FFloatKey final
{
public:
	struct FKey                                   Key;                                               // 0x0000(0x0018)(HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         Scale;                                             // 0x0018(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1C[0x4];                                       // 0x001C(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FFloatKey;

// ScriptStruct InputRebinding.AxisBind
// 0x0040 (0x0040 - 0x0000)
struct FAxisBind final
{
public:
	class FName                                   Name;                                              // 0x0000(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<struct FFloatKey>                      FloatKeys;                                         // 0x0008(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<struct FKey>                           PlusKeys;                                          // 0x0018(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<struct FKey>                           MinusKeys;                                         // 0x0028(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	bool                                          Toggleable;                                        // 0x0038(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_39[0x7];                                       // 0x0039(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FAxisBind;

// ScriptStruct InputRebinding.BindingList
// 0x0028 (0x0028 - 0x0000)
struct FBindingList final
{
public:
	TArray<struct FActionBind>                    ActionBindings;                                    // 0x0000(0x0010)(ZeroConstructor, Protected, NativeAccessSpecifierProtected)
	TArray<struct FAxisBind>                      AxisBindings;                                      // 0x0010(0x0010)(ZeroConstructor, Protected, NativeAccessSpecifierProtected)
	bool                                          bIgnoreExoticBinds;                                // 0x0020(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_21[0x7];                                       // 0x0021(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FBindingList;

// ScriptStruct InputRebinding.AxisDisplayInfo
// 0x0058 (0x0058 - 0x0000)
struct FAxisDisplayInfo final
{
public:
	class FName                                   Name;                                              // 0x0000(0x0008)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          ForPadBindOnlyAsAxis;                              // 0x0008(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_9[0x7];                                        // 0x0009(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class FText                                   DisplayName;                                       // 0x0010(0x0010)(Edit, NativeAccessSpecifierPublic)
	class FText                                   Description;                                       // 0x0020(0x0010)(Edit, NativeAccessSpecifierPublic)
	class FText                                   PlusDisplayName;                                   // 0x0030(0x0010)(Edit, NativeAccessSpecifierPublic)
	class FText                                   MinusDisplayName;                                  // 0x0040(0x0010)(Edit, NativeAccessSpecifierPublic)
	bool                                          bIsRebindable;                                     // 0x0050(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bIsHoldable;                                       // 0x0051(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bUseAdaptiveTriggers;                              // 0x0052(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_53[0x5];                                       // 0x0053(0x0005)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FAxisDisplayInfo;

// ScriptStruct InputRebinding.UE4InputHandle
// 0x0004 (0x000C - 0x0008)
struct FUE4InputHandle final : public FNamedHandle
{
public:
	EInputHandleType                              Type;                                              // 0x0008(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_9[0x3];                                        // 0x0009(0x0003)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FUE4InputHandle;

// ScriptStruct InputRebinding.AnalogAxisInfo
// 0x0038 (0x0038 - 0x0000)
struct FAnalogAxisInfo final
{
public:
	class FText                                   DisplayName;                                       // 0x0000(0x0010)(Edit, NativeAccessSpecifierPublic)
	class FText                                   Description;                                       // 0x0010(0x0010)(Edit, NativeAccessSpecifierPublic)
	struct FUE4InputHandle                        XAxisHandle;                                       // 0x0020(0x000C)(Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FUE4InputHandle                        YAxisHandle;                                       // 0x002C(0x000C)(Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FAnalogAxisInfo;

// ScriptStruct InputRebinding.UE4InputActionHandle
// 0x0008 (0x0008 - 0x0000)
struct FUE4InputActionHandle final
{
public:
	class FName                                   ActionName;                                        // 0x0000(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FUE4InputActionHandle;

// ScriptStruct InputRebinding.ActionDisplayInfo
// 0x0030 (0x0030 - 0x0000)
struct FActionDisplayInfo final
{
public:
	class FName                                   Name;                                              // 0x0000(0x0008)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FText                                   DisplayName;                                       // 0x0008(0x0010)(Edit, NativeAccessSpecifierPublic)
	class FText                                   Description;                                       // 0x0018(0x0010)(Edit, NativeAccessSpecifierPublic)
	bool                                          bIsRebindable;                                     // 0x0028(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bIsHoldable;                                       // 0x0029(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bUseAdaptiveTriggers;                              // 0x002A(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_2B[0x5];                                       // 0x002B(0x0005)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FActionDisplayInfo;

// ScriptStruct InputRebinding.ToggleableInfo
// 0x0010 (0x0010 - 0x0000)
struct FToggleableInfo final
{
public:
	struct FUE4InputHandle                        Handle;                                            // 0x0000(0x000C)(Edit, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          ToggleByDefault;                                   // 0x000C(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_D[0x3];                                        // 0x000D(0x0003)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FToggleableInfo;

// ScriptStruct InputRebinding.InputState
// 0x0010 (0x0010 - 0x0000)
struct FInputState final
{
public:
	TArray<struct FUE4InputHandle>                Actions;                                           // 0x0000(0x0010)(Edit, ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FInputState;

// ScriptStruct InputRebinding.UE4InputAxisHandle
// 0x0008 (0x0008 - 0x0000)
struct FUE4InputAxisHandle final
{
public:
	class FName                                   AxisName;                                          // 0x0000(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FUE4InputAxisHandle;

// ScriptStruct InputRebinding.UE4KeyName
// 0x0028 (0x0028 - 0x0000)
struct FUE4KeyName final
{
public:
	struct FKey                                   Key;                                               // 0x0000(0x0018)(Edit, BlueprintVisible, BlueprintReadOnly, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FText                                   DisplayName;                                       // 0x0018(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FUE4KeyName;

}

