#pragma once

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

// Package: UCA

#include "Basic.hpp"

#include "Engine_classes.hpp"
#include "UCA_structs.hpp"
#include "UMG_classes.hpp"
#include "DeveloperSettings_classes.hpp"
#include "UCW_structs.hpp"
#include "UCW_classes.hpp"


namespace SDK
{

// Class UCA.AchievementsConfig
// 0x0010 (0x0040 - 0x0030)
class UAchievementsConfig final : public UDataAsset
{
public:
	TArray<struct FAchievementCounterConfig>      Counters;                                          // 0x0030(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, EditFixedSize, ZeroConstructor, EditConst, NativeAccessSpecifierPublic)

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

// Class UCA.AchievementsSaveObject
// 0x0040 (0x0068 - 0x0028)
class UAchievementsSaveObject final : public USaveGame
{
public:
	TArray<struct FSimpleCounterSaveData>         SimpleCounters;                                    // 0x0028(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<struct FIntegerCounterSaveData>        IntegerCounters;                                   // 0x0038(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<struct FFloatCounterSaveData>          FloatCounters;                                     // 0x0048(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<struct FCollectionCounterSaveData>     CollectionCounters;                                // 0x0058(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)

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

// Class UCA.ActivitiesConfig
// 0x0020 (0x0050 - 0x0030)
class UActivitiesConfig final : public UDataAsset
{
public:
	TArray<struct FActivityConfig>                Activities;                                        // 0x0030(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, EditFixedSize, ZeroConstructor, NativeAccessSpecifierPublic)
	TArray<struct FZoneConfig>                    Zones;                                             // 0x0040(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, EditFixedSize, ZeroConstructor, NativeAccessSpecifierPublic)

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

// Class UCA.UCADebugCounterItemWidget
// 0x0000 (0x02D0 - 0x02D0)
class UUCADebugCounterItemWidget final : public UUserWidget
{
public:
	void OnInit(const class FText& Name_0, const class FText& Type);
	void OnRefresh(const class FText& Value);

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

// Class UCA.UCADebugAchvItemWidget
// 0x0000 (0x02D0 - 0x02D0)
class UUCADebugAchvItemWidget final : public UUserWidget
{
public:
	void OnInit(const class FText& Name_0, bool singlePlaythrough, int32 Threshold, bool IsSimple);
	void OnRefresh(const class FText& Progress, bool IsUnlocked);

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

// Class UCA.UCADebugWidget
// 0x0018 (0x02E8 - 0x02D0)
class UUCADebugWidget final : public UUserWidget
{
public:
	TSubclassOf<class UUCADebugCounterItemWidget> CounterItemWidgetClass;                            // 0x02D0(0x0008)(Edit, ZeroConstructor, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	TSubclassOf<class UUCADebugAchvItemWidget>    AchvItemWidgetClass;                               // 0x02D8(0x0008)(Edit, ZeroConstructor, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class UPanelWidget*                           List_panel;                                        // 0x02E0(0x0008)(BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, InstancedReference, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)

public:
	void OnRefresh(const class FText& Value);

	class FText GetOnlineSystemInfo() const;

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

// Class UCA.UCAManager
// 0x02D0 (0x0300 - 0x0030)
class UUCAManager final : public UGameInstanceSubsystem
{
public:
	uint8                                         Pad_30[0x2C8];                                     // 0x0030(0x02C8)(Fixing Size After Last Property [ Dumper-7 ])
	class UUserWidget*                            DebugWidget;                                       // 0x02F8(0x0008)(ExportObject, ZeroConstructor, Transient, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)

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

// Class UCA.UCASettings
// 0x0080 (0x00B8 - 0x0038)
class UUCASettings final : public UDeveloperSettings
{
public:
	TSoftObjectPtr<class UAchievementsConfig>     AchievementsConfig;                                // 0x0038(0x0028)(Edit, Config, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	TSoftClassPtr<class UClass>                   DebugWidgetClass;                                  // 0x0060(0x0028)(Edit, Config, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	TSoftObjectPtr<class UActivitiesConfig>       ActivitiesConfig;                                  // 0x0088(0x0028)(Edit, Config, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          bPresenceSupported;                                // 0x00B0(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          bPresenceUseZones;                                 // 0x00B1(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          bPresenceUseActivities;                            // 0x00B2(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	bool                                          bPresenceActivitiesOnly;                           // 0x00B3(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_B4[0x4];                                       // 0x00B4(0x0004)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class UCA.UCAStatics
// 0x0000 (0x0028 - 0x0028)
class UUCAStatics final : public UBlueprintFunctionLibrary
{
public:
	static void AddAchievementCollectionGuid(const class UObject* WorldContextObject, const struct FCollectionHandle& Collection, const struct FGuid& Guid);
	static void AddAchievementCollectionGuidFromActor(const class UObject* WorldContextObject, const struct FCollectionHandle& Collection, class AActor* Actor);
	static void AddAchievementCounter(const class UObject* WorldContextObject, const struct FCounterHandle& Counter, const int32 Delta);
	static void EndActivity(const class UObject* WorldContextObject, const struct FActivityHandle& Handle, EActivityOutcome Outcome);
	static void IncrementAchievementCounter(const class UObject* WorldContextObject, const struct FCounterHandle& Counter);
	static void ResumeActivity(const class UObject* WorldContextObject, const struct FActivityHandle& Handle);
	static void SetActivityAvailability(const class UObject* WorldContextObject, const struct FActivityHandle& Handle, const bool bEnabled);
	static void SetActualZone(const class UObject* WorldContextObject, const struct FActivityZoneHandle& Zone);
	static void StartActivity(const class UObject* WorldContextObject, const struct FActivityHandle& Handle);
	static void TerminateActivity(const class UObject* WorldContextObject);
	static void UnlockAchievement(const class UObject* WorldContextObject, const struct FAchievementHandle& Achievement);

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

// Class UCA.UCATestWidget
// 0x07D8 (0x0AD0 - 0x02F8)
class UUCATestWidget final : public UBUserWidget
{
public:
	uint8                                         Pad_2F8[0x8];                                      // 0x02F8(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	struct FBButtonStyle                          ButtonStyle;                                       // 0x0300(0x0410)(Edit, BlueprintVisible, BlueprintReadOnly, Protected, NativeAccessSpecifierProtected)
	struct FTextButtonStyle                       TextButtonStyle;                                   // 0x0710(0x02E0)(Edit, BlueprintVisible, Protected, NativeAccessSpecifierProtected)
	bool                                          bShowBackButton;                                   // 0x09F0(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_9F1[0x7];                                      // 0x09F1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TMulticastInlineDelegate<void()>              K2_OnBack;                                         // 0x09F8(0x0010)(ZeroConstructor, InstancedReference, BlueprintAssignable, BlueprintCallable, NativeAccessSpecifierPublic)
	uint8                                         Pad_A08[0xC8];                                     // 0x0A08(0x00C8)(Fixing Struct Size After Last Property [ Dumper-7 ])

public:
	void Show();

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

}

