#pragma once

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

// Package: ChaosSolverEngine

#include "Basic.hpp"

#include "CoreUObject_structs.hpp"
#include "ChaosVDRuntime_structs.hpp"
#include "DataflowSimulation_structs.hpp"


SDK_NAMESPACE_START

// Enum ChaosSolverEngine.EChaosVDRemoteSessionAttributes
// NumValues: 0x0005
enum class EChaosVDRemoteSessionAttributes : uint8
{
	None                                     = 0,
	SupportsDataChannelChange                = 1,
	CanExpire                                = 2,
	IsMultiSessionWrapper                    = 4,
	EChaosVDRemoteSessionAttributes_MAX      = 5,
};

// Enum ChaosSolverEngine.EChaosVDRemoteSessionReadyState
// NumValues: 0x0003
enum class EChaosVDRemoteSessionReadyState : uint8
{
	Ready                                    = 0,
	Busy                                     = 1,
	EChaosVDRemoteSessionReadyState_MAX      = 2,
};

// Enum ChaosSolverEngine.EClusterConnectionTypeEnum
// NumValues: 0x0008
enum class EClusterConnectionTypeEnum : uint8
{
	Chaos_PointImplicit                      = 0,
	Chaos_DelaunayTriangulation              = 1,
	Chaos_MinimalSpanningSubsetDelaunayTriangulation = 2,
	Chaos_PointImplicitAugmentedWithMinimalDelaunay = 3,
	Chaos_BoundsOverlapFilteredDelaunayTriangulation = 4,
	Chaos_None                               = 5,
	Chaos_EClsuterCreationParameters_Max     = 6,
	Chaos_MAX                                = 7,
};

// ScriptStruct ChaosSolverEngine.ChaosVDSessionPing
// 0x0010 (0x0010 - 0x0000)
struct FChaosVDSessionPing final
{
public:
	struct FGuid                                  ControllerInstanceId;                              // 0x0000(0x0010)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FChaosVDSessionPing;

// ScriptStruct ChaosSolverEngine.ChaosPhysicsCollisionInfo
// 0x00C0 (0x00C0 - 0x0000)
struct FChaosPhysicsCollisionInfo final
{
public:
	class UPrimitiveComponent*                    Component;                                         // 0x0000(0x0008)(Edit, BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	class UPrimitiveComponent*                    OtherComponent;                                    // 0x0008(0x0008)(Edit, BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic, TObjectPtr)
	struct FVector                                Location;                                          // 0x0010(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                Normal;                                            // 0x0028(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                AccumulatedImpulse;                                // 0x0040(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                Velocity;                                          // 0x0058(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                OtherVelocity;                                     // 0x0070(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                AngularVelocity;                                   // 0x0088(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FVector                                OtherAngularVelocity;                              // 0x00A0(0x0018)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         Mass;                                              // 0x00B8(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         OtherMass;                                         // 0x00BC(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FChaosPhysicsCollisionInfo;

// ScriptStruct ChaosSolverEngine.ChaosVDSessionPong
// 0x0038 (0x0038 - 0x0000)
struct FChaosVDSessionPong final
{
public:
	struct FGuid                                  InstanceId;                                        // 0x0000(0x0010)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FGuid                                  SessionId;                                         // 0x0010(0x0010)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FString                                 SessionName;                                       // 0x0020(0x0010)(ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         BuildTargetType;                                   // 0x0030(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_31[0x7];                                       // 0x0031(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FChaosVDSessionPong;

// ScriptStruct ChaosSolverEngine.ChaosVDStartRecordingCommandMessage
// 0x0018 (0x0018 - 0x0000)
struct FChaosVDStartRecordingCommandMessage final
{
public:
	EChaosVDRecordingMode                         RecordingMode;                                     // 0x0000(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1[0x7];                                        // 0x0001(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	class FString                                 Target;                                            // 0x0008(0x0010)(ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FChaosVDStartRecordingCommandMessage;

// ScriptStruct ChaosSolverEngine.ChaosVDStopRecordingCommandMessage
// 0x0001 (0x0001 - 0x0000)
struct FChaosVDStopRecordingCommandMessage final
{
public:
	uint8                                         Pad_0[0x1];                                        // 0x0000(0x0001)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FChaosVDStopRecordingCommandMessage;

// ScriptStruct ChaosSolverEngine.ChaosVDRecordingStatusMessage
// 0x0050 (0x0050 - 0x0000)
struct FChaosVDRecordingStatusMessage final
{
public:
	struct FGuid                                  InstanceId;                                        // 0x0000(0x0010)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bIsRecording;                                      // 0x0010(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_11[0x3];                                       // 0x0011(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         ElapsedTime;                                       // 0x0014(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FChaosVDTraceDetails                   TraceDetails;                                      // 0x0018(0x0038)(NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FChaosVDRecordingStatusMessage;

// ScriptStruct ChaosSolverEngine.ChaosVDDataChannelState
// 0x0018 (0x0018 - 0x0000)
struct FChaosVDDataChannelState final
{
public:
	class FString                                 ChannelName;                                       // 0x0000(0x0010)(ZeroConstructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bIsEnabled;                                        // 0x0010(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bCanChangeChannelState;                            // 0x0011(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_12[0x6];                                       // 0x0012(0x0006)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FChaosVDDataChannelState;

// ScriptStruct ChaosSolverEngine.ChaosVDChannelStateChangeCommandMessage
// 0x0018 (0x0018 - 0x0000)
struct FChaosVDChannelStateChangeCommandMessage final
{
public:
	struct FChaosVDDataChannelState               NewState;                                          // 0x0000(0x0018)(NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FChaosVDChannelStateChangeCommandMessage;

// ScriptStruct ChaosSolverEngine.ChaosVDChannelStateChangeResponseMessage
// 0x0028 (0x0028 - 0x0000)
struct FChaosVDChannelStateChangeResponseMessage final
{
public:
	struct FGuid                                  InstanceId;                                        // 0x0000(0x0010)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FChaosVDDataChannelState               NewState;                                          // 0x0010(0x0018)(NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FChaosVDChannelStateChangeResponseMessage;

// ScriptStruct ChaosSolverEngine.ChaosVDFullSessionInfoRequestMessage
// 0x0001 (0x0001 - 0x0000)
struct FChaosVDFullSessionInfoRequestMessage final
{
public:
	uint8                                         Pad_0[0x1];                                        // 0x0000(0x0001)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FChaosVDFullSessionInfoRequestMessage;

// ScriptStruct ChaosSolverEngine.ChaosVDFullSessionInfoResponseMessage
// 0x0028 (0x0028 - 0x0000)
struct FChaosVDFullSessionInfoResponseMessage final
{
public:
	struct FGuid                                  InstanceId;                                        // 0x0000(0x0010)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TArray<struct FChaosVDDataChannelState>       DataChannelsStates;                                // 0x0010(0x0010)(ZeroConstructor, NativeAccessSpecifierPublic)
	bool                                          bIsRecording;                                      // 0x0020(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_21[0x7];                                       // 0x0021(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FChaosVDFullSessionInfoResponseMessage;

// ScriptStruct ChaosSolverEngine.BreakEventCallbackWrapper
// 0x0030 (0x0030 - 0x0000)
struct alignas(0x10) FBreakEventCallbackWrapper final
{
public:
	uint8                                         Pad_0[0x30];                                       // 0x0000(0x0030)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FBreakEventCallbackWrapper;

// ScriptStruct ChaosSolverEngine.RemovalEventCallbackWrapper
// 0x0030 (0x0030 - 0x0000)
struct alignas(0x10) FRemovalEventCallbackWrapper final
{
public:
	uint8                                         Pad_0[0x30];                                       // 0x0000(0x0030)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FRemovalEventCallbackWrapper;

// ScriptStruct ChaosSolverEngine.CrumblingEventCallbackWrapper
// 0x0030 (0x0030 - 0x0000)
struct alignas(0x10) FCrumblingEventCallbackWrapper final
{
public:
	uint8                                         Pad_0[0x30];                                       // 0x0000(0x0030)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FCrumblingEventCallbackWrapper;

// ScriptStruct ChaosSolverEngine.ChaosHandlerSet
// 0x0058 (0x0058 - 0x0000)
struct FChaosHandlerSet final
{
public:
	uint8                                         Pad_0[0x8];                                        // 0x0000(0x0008)(Fixing Size After Last Property [ Dumper-7 ])
	TSet<class UObject*>                          ChaosHandlers;                                     // 0x0008(0x0050)(UObjectWrapper, NativeAccessSpecifierPublic, TObjectPtr)
};
DUMPER7_ASSERTS_FChaosHandlerSet;

// ScriptStruct ChaosSolverEngine.ChaosDebugSubstepControl
// 0x0003 (0x0003 - 0x0000)
struct FChaosDebugSubstepControl final
{
public:
	bool                                          bPause;                                            // 0x0000(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bSubstep;                                          // 0x0001(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bStep;                                             // 0x0002(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FChaosDebugSubstepControl;

// ScriptStruct ChaosSolverEngine.DataflowRigidSolverProxy
// 0x0018 (0x0090 - 0x0078)
struct FDataflowRigidSolverProxy final : public FDataflowPhysicsSolverProxy
{
public:
	uint8                                         Pad_78[0x18];                                      // 0x0078(0x0018)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FDataflowRigidSolverProxy;

SDK_NAMESPACE_END
