#pragma once

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

// Package: InputRebinding

#include "Basic.hpp"

#include "InputRebinding_structs.hpp"
#include "Engine_classes.hpp"
#include "DeveloperSettings_classes.hpp"
#include "CoreUObject_classes.hpp"


namespace SDK
{

// Class InputRebinding.InputRebindingSaveData
// 0x0028 (0x0050 - 0x0028)
class UInputRebindingSaveData final : public USaveGame
{
public:
	struct FBindingList                           BindingList;                                       // 0x0028(0x0028)(NativeAccessSpecifierPublic)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("InputRebindingSaveData")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"InputRebindingSaveData")
	}
	static class UInputRebindingSaveData* GetDefaultObj()
	{
		return GetDefaultObjImpl<UInputRebindingSaveData>();
	}
};
DUMPER7_ASSERTS_UInputRebindingSaveData;

// Class InputRebinding.InputRebindingSettings
// 0x0058 (0x0090 - 0x0038)
class UInputRebindingSettings final : public UDeveloperSettings
{
public:
	TSoftObjectPtr<class UUE4KeyNames>            KeyNames;                                          // 0x0038(0x0028)(Edit, Config, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	TSoftObjectPtr<class UMappingDisplayInfo>     ActionNames;                                       // 0x0060(0x0028)(Edit, Config, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          AllowModifierKeyBinding;                           // 0x0088(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_89[0x7];                                       // 0x0089(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("InputRebindingSettings")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"InputRebindingSettings")
	}
	static class UInputRebindingSettings* GetDefaultObj()
	{
		return GetDefaultObjImpl<UInputRebindingSettings>();
	}
};
DUMPER7_ASSERTS_UInputRebindingSettings;

// Class InputRebinding.MappingDisplayInfo
// 0x00A8 (0x00D8 - 0x0030)
class UMappingDisplayInfo final : public UDataAsset
{
public:
	TArray<struct FActionDisplayInfo>             ActionInfos;                                       // 0x0030(0x0010)(Edit, EditFixedSize, ZeroConstructor, Protected, NativeAccessSpecifierProtected)
	TArray<struct FAxisDisplayInfo>               AxisInfos;                                         // 0x0040(0x0010)(Edit, EditFixedSize, ZeroConstructor, Protected, NativeAccessSpecifierProtected)
	TArray<struct FToggleableInfo>                Toggleable;                                        // 0x0050(0x0010)(Edit, ZeroConstructor, Protected, NativeAccessSpecifierProtected)
	TArray<struct FAnalogAxisInfo>                AnalogAxisInfos;                                   // 0x0060(0x0010)(Edit, ZeroConstructor, Protected, NativeAccessSpecifierProtected)
	bool                                          bUseInputStates;                                   // 0x0070(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_71[0x7];                                       // 0x0071(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FInputState>                    InputStates;                                       // 0x0078(0x0010)(Edit, ZeroConstructor, Protected, NativeAccessSpecifierProtected)
	TMap<struct FUE4InputHandle, struct FInputState> ActionNonConflicts;                             // 0x0088(0x0050)(Edit, Protected, NativeAccessSpecifierProtected)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MappingDisplayInfo")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MappingDisplayInfo")
	}
	static class UMappingDisplayInfo* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMappingDisplayInfo>();
	}
};
DUMPER7_ASSERTS_UMappingDisplayInfo;

// Class InputRebinding.RebindableInput
// 0x00C8 (0x00F0 - 0x0028)
class URebindableInput final : public UObject
{
public:
	TMulticastInlineDelegate<void(class URebindableInput* RebindableInput)> PreSaveCreation;         // 0x0028(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, Protected, NativeAccessSpecifierProtected)
	TMulticastInlineDelegate<void(class URebindableInput* RebindableInput, class UInputRebindingSaveData* SaveData)> PostSaveCreation; // 0x0038(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, Protected, NativeAccessSpecifierProtected)
	TMulticastInlineDelegate<void(class URebindableInput* RebindableInput)> PreLoad;                 // 0x0048(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, Protected, NativeAccessSpecifierProtected)
	TMulticastInlineDelegate<void(class URebindableInput* RebindableInput)> PostLoad;                // 0x0058(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, Protected, NativeAccessSpecifierProtected)
	uint8                                         Pad_68[0x60];                                      // 0x0068(0x0060)(Fixing Size After Last Property [ Dumper-7 ])
	struct FBindingList                           BindingList;                                       // 0x00C8(0x0028)(Protected, NativeAccessSpecifierProtected)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("RebindableInput")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"RebindableInput")
	}
	static class URebindableInput* GetDefaultObj()
	{
		return GetDefaultObjImpl<URebindableInput>();
	}
};
DUMPER7_ASSERTS_URebindableInput;

// Class InputRebinding.UE4KeyTexts
// 0x0010 (0x0040 - 0x0030)
class UUE4KeyTexts : public UDataAsset
{
public:
	TArray<struct FUE4KeyName>                    Keys;                                              // 0x0030(0x0010)(Edit, BlueprintVisible, ZeroConstructor, Protected, NativeAccessSpecifierProtected)

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("UE4KeyTexts")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"UE4KeyTexts")
	}
	static class UUE4KeyTexts* GetDefaultObj()
	{
		return GetDefaultObjImpl<UUE4KeyTexts>();
	}
};
DUMPER7_ASSERTS_UUE4KeyTexts;

// Class InputRebinding.UE4KeyNames
// 0x0000 (0x0040 - 0x0040)
class UUE4KeyNames final : public UUE4KeyTexts
{
public:
	static class FText GetKeyTranslatedDisplayName(const struct FKey& Key);
	static class FText GetKeyTranslatedText(const struct FKey& Key, bool UseKeyTag, bool UseTags);

public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("UE4KeyNames")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"UE4KeyNames")
	}
	static class UUE4KeyNames* GetDefaultObj()
	{
		return GetDefaultObjImpl<UUE4KeyNames>();
	}
};
DUMPER7_ASSERTS_UUE4KeyNames;

}

