#pragma once

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

// Package: DifficultyAttributes

#include "Basic.hpp"

#include "Engine_classes.hpp"
#include "DifficultyAttributes_structs.hpp"
#include "CoreUObject_classes.hpp"


namespace SDK
{

// Class DifficultyAttributes.DifficultyAttributeMapData
// 0x0018 (0x0048 - 0x0030)
class UDifficultyAttributeMapData : public UDataAsset
{
public:
	uint8                                         DefaultDifficultyIndex;                            // 0x0030(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_31[0x7];                                       // 0x0031(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<struct FBTDifficultyAttributeMap>      AttributeMaps;                                     // 0x0038(0x0010)(Edit, BlueprintVisible, ZeroConstructor, NativeAccessSpecifierPublic)

public:
	struct FBTDifficultyAttribute GetAttribute(const class UObject* WorldContextObject, const struct FGameplayTag& AttributeTag) const;
	struct FBTDifficultyAttribute GetAttributeCustomDifficulty(const class UObject* WorldContextObject, const struct FGameplayTag& AttributeTag, uint8 InDifficulty) const;
	uint8 GetGameplayDifficulty(const class UObject* WorldContextObject) const;

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

// Class DifficultyAttributes.DifficultyScalable
// 0x0000 (0x0000 - 0x0000)
class IDifficultyScalable final
{
public:
	const class UDifficultyAttributeMapData* GetDifficultyAttributeMap() const;

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

	class UObject* AsUObject()
	{
		return reinterpret_cast<UObject*>(this);
	}
	const class UObject* AsUObject() const
	{
		return reinterpret_cast<const UObject*>(this);
	}
};
DUMPER7_ASSERTS_IDifficultyScalable;

}

