#pragma once

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

// Package: TutorialSystem

#include "Basic.hpp"

#include "EnhancedInputUtils_structs.hpp"
#include "InputRebinding_structs.hpp"
#include "Engine_structs.hpp"


namespace SDK
{

// Enum TutorialSystem.ETutorialState
// NumValues: 0x0004
enum class ETutorialState : uint8
{
	Inactive                                 = 0,
	Activated                                = 1,
	Complete                                 = 2,
	ETutorialState_MAX                       = 3,
};

// Enum TutorialSystem.EBTTutorialVideoType
// NumValues: 0x0003
enum class EBTTutorialVideoType : uint8
{
	Standard                                 = 0,
	Bink                                     = 1,
	EBTTutorialVideoType_MAX                 = 2,
};

// ScriptStruct TutorialSystem.TutorialDataItem
// 0x0008 (0x0008 - 0x0000)
struct FTutorialDataItem final
{
public:
	class FName                                   Value;                                             // 0x0000(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FTutorialDataItem;

// ScriptStruct TutorialSystem.FormattedTutorialTexts
// 0x0040 (0x0040 - 0x0000)
struct FFormattedTutorialTexts final
{
public:
	class FText                                   FormattedKeyboardMouseTextShort;                   // 0x0000(0x0010)(BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	class FText                                   FormattedPadTextShort;                             // 0x0010(0x0010)(BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	class FText                                   FormattedKeyboardMouseTextLong;                    // 0x0020(0x0010)(BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	class FText                                   FormattedPadTextLong;                              // 0x0030(0x0010)(BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FFormattedTutorialTexts;

// ScriptStruct TutorialSystem.TutorialBinkVideSourceHandle
// 0x0010 (0x0010 - 0x0000)
struct FTutorialBinkVideSourceHandle final
{
public:
	class FString                                 URL;                                               // 0x0000(0x0010)(Edit, BlueprintVisible, ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FTutorialBinkVideSourceHandle;

// ScriptStruct TutorialSystem.TutorialData
// 0x0128 (0x0130 - 0x0008)
struct FTutorialData final : public FTableRowBase
{
public:
	class FText                                   DisplayName;                                       // 0x0008(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	bool                                          bSmallPrompt;                                      // 0x0018(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_19[0x7];                                       // 0x0019(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class FText                                   KeyboardMouseTextShort;                            // 0x0020(0x0010)(Edit, NativeAccessSpecifierPublic)
	class FText                                   PadTextShort;                                      // 0x0030(0x0010)(Edit, NativeAccessSpecifierPublic)
	class FText                                   KeyboardMouseTextLong;                             // 0x0040(0x0010)(Edit, NativeAccessSpecifierPublic)
	class FText                                   PadTextLong;                                       // 0x0050(0x0010)(Edit, NativeAccessSpecifierPublic)
	bool                                          bUseEnhancedInput;                                 // 0x0060(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_61[0x7];                                       // 0x0061(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	struct FEnhancedInputTextArgs                 EnhancedInputArgs;                                 // 0x0068(0x0060)(Edit, BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	TArray<struct FUE4InputActionHandle>          Actions;                                           // 0x00C8(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<struct FUE4InputAxisHandle>            Axes;                                              // 0x00D8(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, NativeAccessSpecifierPublic)
	EBTTutorialVideoType                          VideoType;                                         // 0x00E8(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_E9[0x7];                                       // 0x00E9(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TSoftObjectPtr<class UFileMediaSource>        TutorialVideo;                                     // 0x00F0(0x0028)(Edit, BlueprintVisible, BlueprintReadOnly, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FTutorialBinkVideSourceHandle          BinkVideoURL;                                      // 0x0118(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, NativeAccessSpecifierPublic)
	bool                                          bOverrideSystemExpiration;                         // 0x0128(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bShouldTutorialExpire;                             // 0x0129(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_12A[0x2];                                      // 0x012A(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         TutorialExpirationDelay;                           // 0x012C(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FTutorialData;

// ScriptStruct TutorialSystem.TutorialsGameSaveData
// 0x0060 (0x0060 - 0x0000)
struct FTutorialsGameSaveData final
{
public:
	TMap<struct FTutorialDataItem, ETutorialState> TutorialProgress;                                 // 0x0000(0x0050)(NativeAccessSpecifierPublic)
	TArray<struct FTutorialDataItem>              TutorialsViewed;                                   // 0x0050(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FTutorialsGameSaveData;

}

