#pragma once

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

// Package: MassEntity

#include "Basic.hpp"

#include "CoreUObject_structs.hpp"


SDK_NAMESPACE_START

// Enum MassEntity.EMassCommandOperationType
// NumValues: 0x0008
enum class EMassCommandOperationType : uint8
{
	None                                     = 0,
	Create                                   = 1,
	Add                                      = 2,
	Remove                                   = 3,
	ChangeComposition                        = 4,
	Set                                      = 5,
	Destroy                                  = 6,
	MAX                                      = 7,
};

// Enum MassEntity.EMassObservedOperation
// NumValues: 0x0003
enum class EMassObservedOperation : uint8
{
	Add                                      = 0,
	Remove                                   = 1,
	MAX                                      = 2,
};

// Enum MassEntity.EProcessorExecutionFlags
// NumValues: 0x000A
enum class EProcessorExecutionFlags : uint8
{
	None                                     = 0,
	Standalone                               = 1,
	Server                                   = 2,
	Client                                   = 4,
	Editor                                   = 8,
	EditorWorld                              = 16,
	AllNetModes                              = 7,
	AllWorldModes                            = 23,
	All                                      = 31,
	EProcessorExecutionFlags_MAX             = 32,
};

// Enum MassEntity.EMassProcessingPhase
// NumValues: 0x0007
enum class EMassProcessingPhase : uint8
{
	PrePhysics                               = 0,
	StartPhysics                             = 1,
	DuringPhysics                            = 2,
	EndPhysics                               = 3,
	PostPhysics                              = 4,
	FrameEnd                                 = 5,
	MAX                                      = 6,
};

// Enum MassEntity.EActivationState
// NumValues: 0x0004
enum class EActivationState : uint8
{
	Inactive                                 = 0,
	Active                                   = 1,
	OneShot                                  = 2,
	EActivationState_MAX                     = 3,
};

// Enum MassEntity.EMassQueryBasedPruning
// NumValues: 0x0004
enum class EMassQueryBasedPruning : uint8
{
	Prune                                    = 0,
	Never                                    = 1,
	Default                                  = 0,
	EMassQueryBasedPruning_MAX               = 2,
};

// Enum MassEntity.EMassFragmentAccess
// NumValues: 0x0004
enum class EMassFragmentAccess : uint8
{
	None                                     = 0,
	ReadOnly                                 = 1,
	ReadWrite                                = 2,
	MAX                                      = 3,
};

// Enum MassEntity.EMassFragmentPresence
// NumValues: 0x0005
enum class EMassFragmentPresence : uint8
{
	All                                      = 0,
	Any                                      = 1,
	None                                     = 2,
	Optional                                 = 3,
	MAX                                      = 4,
};

// ScriptStruct MassEntity.MassGenericDebugEvent
// 0x0001 (0x0001 - 0x0000)
struct FMassGenericDebugEvent final
{
public:
	uint8                                         Pad_0[0x1];                                        // 0x0000(0x0001)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FMassGenericDebugEvent;

// ScriptStruct MassEntity.MassFragment
// 0x0000 (0x0000 - 0x0000)
#pragma pack(push, 0x1)
struct SDK_ALIGN(0x01) FMassFragment
{
};
#pragma pack(pop)
DUMPER7_ASSERTS_FMassFragment;

// ScriptStruct MassEntity.MassDebugLogFragment
// 0x0008 (0x0008 - 0x0000)
struct FMassDebugLogFragment final : public FMassFragment
{
public:
	TWeakObjectPtr<class UObject>                 LogOwner;                                          // 0x0000(0x0008)(ZeroConstructor, IsPlainOldData, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FMassDebugLogFragment;

// ScriptStruct MassEntity.MassTag
// 0x0001 (0x0001 - 0x0000)
struct FMassTag final
{
public:
	uint8                                         Pad_0[0x1];                                        // 0x0000(0x0001)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FMassTag;

// ScriptStruct MassEntity.MassChunkFragment
// 0x0001 (0x0001 - 0x0000)
struct FMassChunkFragment final
{
public:
	uint8                                         Pad_0[0x1];                                        // 0x0000(0x0001)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FMassChunkFragment;

// ScriptStruct MassEntity.MassSharedFragment
// 0x0001 (0x0001 - 0x0000)
struct FMassSharedFragment final
{
public:
	uint8                                         Pad_0[0x1];                                        // 0x0000(0x0001)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FMassSharedFragment;

// ScriptStruct MassEntity.MassConstSharedFragment
// 0x0001 (0x0001 - 0x0000)
struct FMassConstSharedFragment final
{
public:
	uint8                                         Pad_0[0x1];                                        // 0x0000(0x0001)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FMassConstSharedFragment;

// ScriptStruct MassEntity.MassEntityHandle
// 0x0008 (0x0008 - 0x0000)
struct alignas(0x08) FMassEntityHandle final
{
public:
	int32                                         Index;                                             // 0x0000(0x0004)(Edit, ZeroConstructor, Transient, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         SerialNumber;                                      // 0x0004(0x0004)(Edit, ZeroConstructor, Transient, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FMassEntityHandle;

// ScriptStruct MassEntity.MassFragmentRequirements
// 0x0278 (0x0278 - 0x0000)
struct alignas(0x08) FMassFragmentRequirements
{
public:
	uint8                                         Pad_0[0x278];                                      // 0x0000(0x0278)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FMassFragmentRequirements;

// ScriptStruct MassEntity.MassEntityQuery
// 0x00D8 (0x0350 - 0x0278)
struct alignas(0x10) FMassEntityQuery final : public FMassFragmentRequirements
{
public:
	uint8                                         Pad_278[0xD8];                                     // 0x0278(0x00D8)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FMassEntityQuery;

// ScriptStruct MassEntity.MassEntityView
// 0x0028 (0x0028 - 0x0000)
struct alignas(0x08) FMassEntityView final
{
public:
	uint8                                         Pad_0[0x28];                                       // 0x0000(0x0028)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FMassEntityView;

// ScriptStruct MassEntity.MassRuntimePipeline
// 0x0018 (0x0018 - 0x0000)
struct FMassRuntimePipeline final
{
public:
	TArray<class UMassProcessor*>                 Processors;                                        // 0x0000(0x0010)(ZeroConstructor, UObjectWrapper, NativeAccessSpecifierPrivate, TObjectPtr)
	uint8                                         Pad_10[0x8];                                       // 0x0010(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FMassRuntimePipeline;

// ScriptStruct MassEntity.MassObserversMap
// 0x0050 (0x0050 - 0x0000)
struct FMassObserversMap final
{
public:
	TMap<class UScriptStruct*, struct FMassRuntimePipeline> Container;                               // 0x0000(0x0050)(NativeAccessSpecifierPrivate)
};
DUMPER7_ASSERTS_FMassObserversMap;

// ScriptStruct MassEntity.MassObserverManager
// 0x01F0 (0x01F0 - 0x0000)
struct FMassObserverManager final
{
public:
	uint8                                         Pad_0[0xA8];                                       // 0x0000(0x00A8)(Fixing Size After Last Property [ Dumper-7 ])
	struct FMassObserversMap                      FragmentObservers[0x2];                            // 0x00A8(0x0050)(Protected, NativeAccessSpecifierProtected)
	struct FMassObserversMap                      TagObservers[0x2];                                 // 0x0148(0x0050)(Protected, NativeAccessSpecifierProtected)
	uint8                                         Pad_1E8[0x8];                                      // 0x01E8(0x0008)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FMassObserverManager;

// ScriptStruct MassEntity.MassProcessorClassCollection
// 0x0010 (0x0010 - 0x0000)
struct FMassProcessorClassCollection final
{
public:
	TArray<TSubclassOf<class UMassProcessor>>     ClassCollection;                                   // 0x0000(0x0010)(ZeroConstructor, UObjectWrapper, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FMassProcessorClassCollection;

// ScriptStruct MassEntity.MassEntityObserverClassesMap
// 0x0050 (0x0050 - 0x0000)
struct FMassEntityObserverClassesMap final
{
public:
	TMap<class UScriptStruct*, struct FMassProcessorClassCollection> Container;                      // 0x0000(0x0050)(NativeAccessSpecifierPrivate)
};
DUMPER7_ASSERTS_FMassEntityObserverClassesMap;

// ScriptStruct MassEntity.MassProcessingPhaseConfig
// 0x0020 (0x0020 - 0x0000)
struct FMassProcessingPhaseConfig final
{
public:
	class FName                                   PhaseName;                                         // 0x0000(0x0008)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TSubclassOf<class UMassCompositeProcessor>    PhaseGroupClass;                                   // 0x0008(0x0008)(Edit, ZeroConstructor, Config, NoClear, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<class UMassProcessor*>                 ProcessorCDOs;                                     // 0x0010(0x0010)(ZeroConstructor, Transient, UObjectWrapper, NativeAccessSpecifierPublic, TObjectPtr)
};
DUMPER7_ASSERTS_FMassProcessingPhaseConfig;

// ScriptStruct MassEntity.ProcessorAuxDataBase
// 0x0001 (0x0001 - 0x0000)
struct FProcessorAuxDataBase final
{
public:
	uint8                                         Pad_0[0x1];                                        // 0x0000(0x0001)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FProcessorAuxDataBase;

// ScriptStruct MassEntity.MassProcessingContext_DEPRECATED
// 0x0020 (0x0020 - 0x0000)
struct FMassProcessingContext_DEPRECATED final
{
public:
	float                                         DeltaSeconds;                                      // 0x0000(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_4[0x4];                                        // 0x0004(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FInstancedStruct                       AuxData;                                           // 0x0008(0x0010)(NativeAccessSpecifierPublic)
	bool                                          bFlushCommandBuffer;                               // 0x0018(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_19[0x7];                                       // 0x0019(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FMassProcessingContext_DEPRECATED;

// ScriptStruct MassEntity.MassProcessorExecutionOrder
// 0x0028 (0x0028 - 0x0000)
struct FMassProcessorExecutionOrder final
{
public:
	class FName                                   ExecuteInGroup;                                    // 0x0000(0x0008)(Edit, ZeroConstructor, Config, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<class FName>                           ExecuteBefore;                                     // 0x0008(0x0010)(Edit, ZeroConstructor, Config, NativeAccessSpecifierPublic)
	TArray<class FName>                           ExecuteAfter;                                      // 0x0018(0x0010)(Edit, ZeroConstructor, Config, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FMassProcessorExecutionOrder;

// ScriptStruct MassEntity.MassSubsystemRequirements
// 0x0048 (0x0048 - 0x0000)
struct alignas(0x08) FMassSubsystemRequirements final
{
public:
	uint8                                         Pad_0[0x48];                                       // 0x0000(0x0048)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FMassSubsystemRequirements;

SDK_NAMESPACE_END
