#pragma once

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

// Package: GSInput

#include "Basic.hpp"


namespace SDK
{

// Enum GSInput.EGSInputType
// NumValues: 0x0006
enum class EGSInputType : uint8
{
	None                                     = 0,
	KeyboardMouse                            = 1,
	Gamepad                                  = 2,
	Touch                                    = 3,
	Other                                    = 4,
	EGSInputType_MAX                         = 5,
};

// Enum GSInput.EGSInputIconShowType
// NumValues: 0x0004
enum class EGSInputIconShowType : uint8
{
	KeyboardMouse                            = 0,
	Gamepad                                  = 1,
	Both                                     = 2,
	EGSInputIconShowType_MAX                 = 3,
};

// Enum GSInput.EGSIconPerformanceType
// NumValues: 0x0004
enum class EGSIconPerformanceType : uint8
{
	Normal                                   = 0,
	HoldInteract                             = 1,
	Combo                                    = 2,
	EGSIconPerformanceType_MAX               = 3,
};

// Enum GSInput.EGSComboOnlyShowOneType
// NumValues: 0x0004
enum class EGSComboOnlyShowOneType : uint8
{
	First                                    = 0,
	Second                                   = 1,
	Both                                     = 2,
	EGSComboOnlyShowOneType_MAX              = 3,
};

// Enum GSInput.EGSInputActionIconSupportedPlatform
// NumValues: 0x0005
enum class EGSInputActionIconSupportedPlatform : uint8
{
	None                                     = 0,
	Windows                                  = 1,
	XSX                                      = 2,
	PS5                                      = 3,
	EGSInputActionIconSupportedPlatform_MAX  = 4,
};

// Enum GSInput.EGSInputDeviceType
// NumValues: 0x0005
enum class EGSInputDeviceType : uint8
{
	Microsoft                                = 0,
	Sony                                     = 1,
	Nintendo                                 = 2,
	Other                                    = 3,
	EGSInputDeviceType_MAX                   = 4,
};

// Enum GSInput.EInputDisplayType
// NumValues: 0x0007
enum class EInputDisplayType : uint8
{
	NORNAL_BUTTON                            = 0,
	TRIGGER_BUTTON                           = 1,
	TRIGGER_TEXT                             = 2,
	AXIS_BUTTON                              = 3,
	AXIS_TEXT                                = 4,
	MOUSE_POS_TEXT                           = 5,
	EInputDisplayType_MAX                    = 6,
};

// Enum GSInput.EGSInputProcOrder
// NumValues: 0x0003
enum class EGSInputProcOrder : uint8
{
	Setting                                  = 0,
	General                                  = 1,
	EGSInputProcOrder_MAX                    = 2,
};

// Enum GSInput.EGSInputRichTextMarkUpType
// NumValues: 0x0006
enum class EGSInputRichTextMarkUpType : uint8
{
	None                                     = 0,
	InputAction                              = 1,
	Keyboard                                 = 2,
	Gamepad                                  = 3,
	InputActionAlwaysShow                    = 4,
	EGSInputRichTextMarkUpType_MAX           = 5,
};

// ScriptStruct GSInput.GSInputDisplayArray
// 0x0010 (0x0010 - 0x0000)
struct FGSInputDisplayArray final
{
public:
	TArray<class UGSInputDisplayWidget*>          Widgets;                                           // 0x0000(0x0010)(ExportObject, ZeroConstructor, ContainsInstancedReference, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FGSInputDisplayArray;

}

