#pragma once

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

// Package: ChaosNiagara

#include "Basic.hpp"

#include "ChaosNiagara_structs.hpp"
#include "CoreUObject_structs.hpp"
#include "Niagara_structs.hpp"
#include "Niagara_classes.hpp"


SDK_NAMESPACE_START

// Class ChaosNiagara.NiagaraDataInterfaceChaosDestruction
// 0x0310 (0x0348 - 0x0038)
class UNiagaraDataInterfaceChaosDestruction final : public UNiagaraDataInterface
{
public:
	TSet<class AChaosSolverActor*>                ChaosSolverActorSet;                               // 0x0038(0x0050)(Edit, UObjectWrapper, NativeAccessSpecifierPublic, TObjectPtr)
	EDataSourceTypeEnum                           DataSourceType;                                    // 0x0088(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_89[0x3];                                       // 0x0089(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         DataProcessFrequency;                              // 0x008C(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         MaxNumberOfDataEntriesToSpawn;                     // 0x0090(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          DoSpawn;                                           // 0x0094(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_95[0x3];                                       // 0x0095(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector2D                              SpawnMultiplierMinMax;                             // 0x0098(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         SpawnChance;                                       // 0x00A8(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_AC[0x4];                                       // 0x00AC(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector2D                              ImpulseToSpawnMinMax;                              // 0x00B0(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector2D                              SpeedToSpawnMinMax;                                // 0x00C0(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector2D                              MassToSpawnMinMax;                                 // 0x00D0(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector2D                              ExtentMinToSpawnMinMax;                            // 0x00E0(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector2D                              ExtentMaxToSpawnMinMax;                            // 0x00F0(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector2D                              VolumeToSpawnMinMax;                               // 0x0100(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector2D                              SolverTimeToSpawnMinMax;                           // 0x0110(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         SurfaceTypeToSpawn;                                // 0x0120(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ELocationFilteringModeEnum                    LocationFilteringMode;                             // 0x0124(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ELocationXToSpawnEnum                         LocationXToSpawn;                                  // 0x0125(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_126[0x2];                                      // 0x0126(0x0002)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector2D                              LocationXToSpawnMinMax;                            // 0x0128(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ELocationYToSpawnEnum                         LocationYToSpawn;                                  // 0x0138(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_139[0x7];                                      // 0x0139(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector2D                              LocationYToSpawnMinMax;                            // 0x0140(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ELocationZToSpawnEnum                         LocationZToSpawn;                                  // 0x0150(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_151[0x7];                                      // 0x0151(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector2D                              LocationZToSpawnMinMax;                            // 0x0158(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         TrailMinSpeedToSpawn;                              // 0x0168(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EDataSortTypeEnum                             DataSortingType;                                   // 0x016C(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bGetExternalCollisionData;                         // 0x016D(0x0001)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          DoSpatialHash;                                     // 0x016E(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_16F[0x1];                                      // 0x016F(0x0001)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector                                SpatialHashVolumeMin;                              // 0x0170(0x0018)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                SpatialHashVolumeMax;                              // 0x0188(0x0018)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                SpatialHashVolumeCellSize;                         // 0x01A0(0x0018)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	int32                                         MaxDataPerCell;                                    // 0x01B8(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bApplyMaterialsFilter;                             // 0x01BC(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1BD[0x3];                                      // 0x01BD(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	TSet<class UPhysicalMaterial*>                ChaosBreakingMaterialSet;                          // 0x01C0(0x0050)(Edit, UObjectWrapper, NativeAccessSpecifierPublic, TObjectPtr)
	bool                                          bGetExternalBreakingData;                          // 0x0210(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bGetExternalTrailingData;                          // 0x0211(0x0001)(Edit, ZeroConstructor, EditConst, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_212[0x6];                                      // 0x0212(0x0006)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector2D                              RandomPositionMagnitudeMinMax;                     // 0x0218(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         InheritedVelocityMultiplier;                       // 0x0228(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ERandomVelocityGenerationTypeEnum             RandomVelocityGenerationType;                      // 0x022C(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_22D[0x3];                                      // 0x022D(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector2D                              RandomVelocityMagnitudeMinMax;                     // 0x0230(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         SpreadAngleMax;                                    // 0x0240(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_244[0x4];                                      // 0x0244(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector                                VelocityOffsetMin;                                 // 0x0248(0x0018)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                VelocityOffsetMax;                                 // 0x0260(0x0018)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector2D                              FinalVelocityMagnitudeMinMax;                      // 0x0278(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         MaxLatency;                                        // 0x0288(0x0004)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EDebugTypeEnum                                DebugType;                                         // 0x028C(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_28D[0x3];                                      // 0x028D(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	int32                                         LastSpawnedPointID;                                // 0x0290(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         LastSpawnTime;                                     // 0x0294(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_298[0x10];                                     // 0x0298(0x0010)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         SolverTime;                                        // 0x02A8(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	float                                         TimeStampOfLastProcessedData;                      // 0x02AC(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, Protected, HasGetValueTypeHash, NativeAccessSpecifierProtected)
	uint8                                         Pad_2B0[0x98];                                     // 0x02B0(0x0098)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class ChaosNiagara.NiagaraDataInterfaceGeometryCollection
// 0x0068 (0x00A0 - 0x0038)
class UNiagaraDataInterfaceGeometryCollection final : public UNiagaraDataInterface
{
public:
	ENDIGeometryCollection_SourceMode             SourceMode;                                        // 0x0038(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_39[0x7];                                       // 0x0039(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class UGeometryCollection*                    DefaultGeometryCollection;                         // 0x0040(0x0008)(Edit, ZeroConstructor, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	TSoftObjectPtr<class AGeometryCollectionActor> GeometryCollectionActor;                          // 0x0048(0x0028)(Edit, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UGeometryCollectionComponent*           SourceComponent;                                   // 0x0070(0x0008)(ExportObject, ZeroConstructor, Transient, InstancedReference, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	struct FNiagaraUserParameterBinding           GeometryCollectionUserParameter;                   // 0x0078(0x0020)(Edit, NativeAccessSpecifierPublic)
	bool                                          bIncludeIntermediateBones;                         // 0x0098(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_99[0x7];                                       // 0x0099(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])

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

// Class ChaosNiagara.NiagaraDataInterfacePhysicsField
// 0x0000 (0x0038 - 0x0038)
class UNiagaraDataInterfacePhysicsField final : public UNiagaraDataInterface
{
public:
	static class UClass* StaticClass()
	{
		STATIC_CLASS_IMPL("NiagaraDataInterfacePhysicsField")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"NiagaraDataInterfacePhysicsField")
	}
	static class UNiagaraDataInterfacePhysicsField* GetDefaultObj()
	{
		return GetDefaultObjImpl<UNiagaraDataInterfacePhysicsField>();
	}
};
DUMPER7_ASSERTS_UNiagaraDataInterfacePhysicsField;

SDK_NAMESPACE_END
