#pragma once

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

// Package: MassEntity

#include "Basic.hpp"

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


SDK_NAMESPACE_START

// Class MassEntity.MassSubsystemBase
// 0x0008 (0x0038 - 0x0030)
class UMassSubsystemBase : public UWorldSubsystem
{
public:
	uint8                                         Pad_30[0x8];                                       // 0x0030(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class MassEntity.MassTickableSubsystemBase
// 0x0008 (0x0048 - 0x0040)
class UMassTickableSubsystemBase final : public UTickableWorldSubsystem
{
public:
	uint8                                         Pad_40[0x8];                                       // 0x0040(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class MassEntity.MassModuleSettings
// 0x0000 (0x0028 - 0x0028)
class UMassModuleSettings : public UObject
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("MassModuleSettings")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"MassModuleSettings")
	}
	static class UMassModuleSettings* GetDefaultObj()
	{
		return GetDefaultObjImpl<UMassModuleSettings>();
	}
};
DUMPER7_ASSERTS_UMassModuleSettings;

// Class MassEntity.MassEntitySettings
// 0x0108 (0x0130 - 0x0028)
class UMassEntitySettings final : public UMassModuleSettings
{
public:
	int32                                         ChunkMemorySize;                                   // 0x0028(0x0004)(Edit, ZeroConstructor, Config, DisableEditOnInstance, IsPlainOldData, NoDestructor, AdvancedDisplay, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_2C[0x4];                                       // 0x002C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	class FString                                 DumpDependencyGraphFileName;                       // 0x0030(0x0010)(Edit, ZeroConstructor, Transient, DisableEditOnInstance, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FMassProcessingPhaseConfig             ProcessingPhasesConfig[0x6];                       // 0x0040(0x0020)(Edit, Config, DisableEditOnInstance, NativeAccessSpecifierPublic)
	TArray<class UMassProcessor*>                 ProcessorCDOs;                                     // 0x0100(0x0010)(Edit, ExportObject, EditFixedSize, ZeroConstructor, Transient, EditConst, ContainsInstancedReference, UObjectWrapper, NativeAccessSpecifierPublic, TObjectPtr)
	uint8                                         Pad_110[0x20];                                     // 0x0110(0x0020)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class MassEntity.MassEntitySubsystem
// 0x0010 (0x0048 - 0x0038)
class UMassEntitySubsystem final : public UMassSubsystemBase
{
public:
	uint8                                         Pad_38[0x10];                                      // 0x0038(0x0010)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class MassEntity.MassProcessor
// 0x0098 (0x00C0 - 0x0028)
class UMassProcessor : public UObject
{
public:
	struct FMassProcessorExecutionOrder           ExecutionOrder;                                    // 0x0028(0x0028)(Edit, Config, DisableEditOnInstance, Protected, NativeAccessSpecifierProtected)
	EMassProcessingPhase                          ProcessingPhase;                                   // 0x0050(0x0001)(Edit, ZeroConstructor, Config, DisableEditOnInstance, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         ExecutionFlags;                                    // 0x0051(0x0001)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         bAutoRegisterWithProcessingPhases : 1;             // 0x0052(0x0001)(BitIndex: 0x00, PropSize: 0x0001 (Edit, Config, DisableEditOnInstance, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	uint8                                         BitPad_52_1 : 1;                                   // 0x0052(0x0001)(Fixing Bit-Field Size Between Bits [ Dumper-7 ])
	uint8                                         bRequiresGameThreadExecution : 1;                  // 0x0052(0x0001)(BitIndex: 0x02, PropSize: 0x0001 (Edit, Config, DisableEditOnInstance, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected))
	EActivationState                              ActivationState;                                   // 0x0053(0x0001)(Edit, ZeroConstructor, Config, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPrivate)
	int16                                         ExecutionPriority;                                 // 0x0054(0x0002)(Edit, ZeroConstructor, Config, DisableEditOnInstance, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_56[0x6A];                                      // 0x0056(0x006A)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class MassEntity.MassObserverProcessor
// 0x0018 (0x00D8 - 0x00C0)
class UMassObserverProcessor final : public UMassProcessor
{
public:
	bool                                          bAutoRegisterWithObserverRegistry;                 // 0x00C0(0x0001)(Edit, ZeroConstructor, Config, DisableEditOnInstance, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_C1[0x7];                                       // 0x00C1(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class UScriptStruct*                          ObservedType;                                      // 0x00C8(0x0008)(ZeroConstructor, NoDestructor, Protected, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierProtected, TObjectPtr)
	uint8                                         Pad_D0[0x8];                                       // 0x00D0(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class MassEntity.MassObserverRegistry
// 0x0140 (0x0168 - 0x0028)
class UMassObserverRegistry final : public UObject
{
public:
	struct FMassEntityObserverClassesMap          FragmentObservers[0x2];                            // 0x0028(0x0050)(Protected, NativeAccessSpecifierProtected)
	struct FMassEntityObserverClassesMap          TagObservers[0x2];                                 // 0x00C8(0x0050)(Protected, NativeAccessSpecifierProtected)

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

// Class MassEntity.MassCompositeProcessor
// 0x0040 (0x0100 - 0x00C0)
class UMassCompositeProcessor final : public UMassProcessor
{
public:
	struct FMassRuntimePipeline                   ChildPipeline;                                     // 0x00C0(0x0018)(Edit, EditConst, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	class FName                                   GroupName;                                         // 0x00D8(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_E0[0x20];                                      // 0x00E0(0x0020)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class MassEntity.MassSettings
// 0x0050 (0x0088 - 0x0038)
class UMassSettings final : public UDeveloperSettings
{
public:
	TMap<class FName, class UMassModuleSettings*> ModuleSettings;                                    // 0x0038(0x0050)(Edit, EditFixedSize, EditConst, NoClear, UObjectWrapper, NativeAccessSpecifierPublic, TObjectPtr)

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

SDK_NAMESPACE_END
