#pragma once

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

// Package: Detection

#include "Basic.hpp"

#include "Engine_structs.hpp"
#include "CoreUObject_structs.hpp"


namespace SDK
{

// Enum Detection.EDetectableShapeDiscoveryScope
// NumValues: 0x0003
enum class EDetectableShapeDiscoveryScope : uint8
{
	Children                                 = 0,
	Actor                                    = 1,
	EDetectableShapeDiscoveryScope_MAX       = 2,
};

// Enum Detection.EDetectableShapeDiscoveryMethod
// NumValues: 0x0004
enum class EDetectableShapeDiscoveryMethod : uint8
{
	None                                     = 0,
	Manual                                   = 1,
	Automatic                                = 2,
	EDetectableShapeDiscoveryMethod_MAX      = 3,
};

// Enum Detection.ERaycastDetectableDistanceMethod
// NumValues: 0x0004
enum class ERaycastDetectableDistanceMethod : uint8
{
	Detector                                 = 0,
	HitLocation                              = 1,
	DetectableLocation                       = 2,
	ERaycastDetectableDistanceMethod_MAX     = 3,
};

// Enum Detection.EScreenDetectableStatus
// NumValues: 0x0004
enum class EScreenDetectableStatus : uint8
{
	NotDetected                              = 0,
	ScreenDetected                           = 1,
	TraceDetected                            = 2,
	EScreenDetectableStatus_MAX              = 3,
};

// Enum Detection.EScreenDetectableCheckQuality
// NumValues: 0x0004
enum class EScreenDetectableCheckQuality : uint8
{
	Center                                   = 0,
	Simple                                   = 1,
	Complex                                  = 2,
	EScreenDetectableCheckQuality_MAX        = 3,
};

// Enum Detection.ERaycastDetectorDistanceMethod
// NumValues: 0x0003
enum class ERaycastDetectorDistanceMethod : uint8
{
	HitLocation                              = 0,
	DetectableLocation                       = 1,
	ERaycastDetectorDistanceMethod_MAX       = 2,
};

// ScriptStruct Detection.RaycastDetectableDetectEventData
// 0x0018 (0x0018 - 0x0000)
struct FRaycastDetectableDetectEventData final
{
public:
	class URaycastDetectableComponent*            Detectable;                                        // 0x0000(0x0008)(Edit, BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class AActor*                                 Detector;                                          // 0x0008(0x0008)(Edit, BlueprintVisible, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ECollisionChannel                             CollisionChannel;                                  // 0x0010(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          AlreadyRegistered;                                 // 0x0011(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_12[0x6];                                       // 0x0012(0x0006)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FRaycastDetectableDetectEventData;

// ScriptStruct Detection.RaycastDetectableLoseEventData
// 0x0018 (0x0018 - 0x0000)
struct FRaycastDetectableLoseEventData final
{
public:
	class URaycastDetectableComponent*            Detectable;                                        // 0x0000(0x0008)(Edit, BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class AActor*                                 Detector;                                          // 0x0008(0x0008)(Edit, BlueprintVisible, ZeroConstructor, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ECollisionChannel                             CollisionChannel;                                  // 0x0010(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_11[0x7];                                       // 0x0011(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FRaycastDetectableLoseEventData;

// ScriptStruct Detection.RaycastDetectableChannelConfig
// 0x0020 (0x0020 - 0x0000)
struct FRaycastDetectableChannelConfig final
{
public:
	ECollisionChannel                             Channel;                                           // 0x0000(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ERaycastDetectableDistanceMethod              DistanceMethod;                                    // 0x0001(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          LimitDetectionRange;                               // 0x0002(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_3[0x5];                                        // 0x0003(0x0005)(Fixing Size After Last Property [ Dumper-7 ])
	struct FVector2D                              DetectionRange;                                    // 0x0008(0x0010)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          StartEnabled;                                      // 0x0018(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          ReportEvenIfRegistered;                            // 0x0019(0x0001)(Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1A[0x6];                                       // 0x001A(0x0006)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FRaycastDetectableChannelConfig;

// ScriptStruct Detection.RaycastDetectorTraceData
// 0x0138 (0x0138 - 0x0000)
struct alignas(0x08) FRaycastDetectorTraceData
{
public:
	bool                                          DrawDebugTrace;                                    // 0x0000(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1[0x3];                                        // 0x0001(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	struct FColor                                 DebugTraceColorMiss;                               // 0x0004(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FColor                                 DebugTraceColorHit;                                // 0x0008(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         DebugLifeTime;                                     // 0x000C(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         DebugThickness;                                    // 0x0010(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         DebugSphereSize;                                   // 0x0014(0x0004)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ERaycastDetectorDistanceMethod                DistanceMethod;                                    // 0x0018(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	ECollisionChannel                             TraceChannel;                                      // 0x0019(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          TraceComplex;                                      // 0x001A(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          IgnoreOwner;                                       // 0x001B(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1C[0x11C];                                     // 0x001C(0x011C)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FRaycastDetectorTraceData;

}

