#pragma once

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

// Package: InteractionGeneric

#include "Basic.hpp"

#include "GameplayTags_structs.hpp"


namespace SDK
{

// Enum InteractionGeneric.EEffectorState
// NumValues: 0x0004
enum class EEffectorState : uint8
{
	Inactive                                 = 0,
	Active                                   = 1,
	Ended                                    = 2,
	EEffectorState_MAX                       = 3,
};

// Enum InteractionGeneric.EConditionSetEvaluationType
// NumValues: 0x0003
enum class EConditionSetEvaluationType : uint8
{
	AllMatch                                 = 0,
	AnyMatch                                 = 1,
	EConditionSetEvaluationType_MAX          = 2,
};

// Enum InteractionGeneric.EEffectorBehaviorState
// NumValues: 0x0005
enum class EEffectorBehaviorState : uint8
{
	Neutral                                  = 0,
	Started                                  = 1,
	Stopped                                  = 2,
	Completed                                = 3,
	EEffectorBehaviorState_MAX               = 4,
};

// Enum InteractionGeneric.EEffectorExecutionType
// NumValues: 0x0003
enum class EEffectorExecutionType : uint8
{
	Parallel                                 = 0,
	Sequential                               = 1,
	EEffectorExecutionType_MAX               = 2,
};

// Enum InteractionGeneric.EOnEffectorStartResponse
// NumValues: 0x0006
enum class EOnEffectorStartResponse : uint8
{
	None                                     = 0,
	ResetExecution                           = 1,
	ContinueExecution                        = 2,
	IgnoreIfStarted                          = 4,
	ActivateIfStarted                        = 8,
	EOnEffectorStartResponse_MAX             = 9,
};

// Enum InteractionGeneric.EOnEffectorStopResponse
// NumValues: 0x0006
enum class EOnEffectorStopResponse : uint8
{
	None                                     = 0,
	InstantInterrupt                         = 1,
	WaitTillFinished                         = 2,
	KeepBehaviourState                       = 4,
	ResetBehaviorState                       = 8,
	EOnEffectorStopResponse_MAX              = 9,
};

// Enum InteractionGeneric.EBrokerState
// NumValues: 0x0004
enum class EBrokerState : uint8
{
	Working                                  = 0,
	Finished                                 = 1,
	Disabled                                 = 2,
	EBrokerState_MAX                         = 3,
};

// Enum InteractionGeneric.EBrokerInteractionState
// NumValues: 0x0004
enum class EBrokerInteractionState : uint8
{
	Ready                                    = 0,
	Triggered                                = 1,
	Done                                     = 2,
	EBrokerInteractionState_MAX              = 3,
};

// Enum InteractionGeneric.ELookAtBehaviorType
// NumValues: 0x0003
enum class ELookAtBehaviorType : uint8
{
	Component                                = 0,
	Player                                   = 1,
	ELookAtBehaviorType_MAX                  = 2,
};

// Enum InteractionGeneric.EMultiTriggerInteractionEvaluationType
// NumValues: 0x0003
enum class EMultiTriggerInteractionEvaluationType : uint8
{
	AllMatch                                 = 0,
	AnyMatch                                 = 1,
	EMultiTriggerInteractionEvaluationType_MAX = 2,
};

// Enum InteractionGeneric.ESequencerBehaviorOperationType
// NumValues: 0x0005
enum class ESequencerBehaviorOperationType : uint8
{
	Start                                    = 0,
	Pause                                    = 1,
	Stop                                     = 2,
	Reverse                                  = 3,
	ESequencerBehaviorOperationType_MAX      = 4,
};

// ScriptStruct InteractionGeneric.InteractionConditionSet
// 0x0028 (0x0028 - 0x0000)
struct FInteractionConditionSet final
{
public:
	EConditionSetEvaluationType                   MatchType;                                         // 0x0000(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1[0x7];                                        // 0x0001(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<class UInteractionTriggerCondition*>   TriggerConditions;                                 // 0x0008(0x0010)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, SaveGame, ContainsInstancedReference, NativeAccessSpecifierPublic)
	TArray<class UInteractionStateCondition*>     StateConditions;                                   // 0x0018(0x0010)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, SaveGame, ContainsInstancedReference, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FInteractionConditionSet;

// ScriptStruct InteractionGeneric.InteractionActivationData
// 0x0030 (0x0030 - 0x0000)
struct FInteractionActivationData final
{
public:
	TSoftObjectPtr<class UObject>                 TriggeringObject;                                  // 0x0000(0x0028)(Edit, BlueprintVisible, SaveGame, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class UObject*                                InteractionData;                                   // 0x0028(0x0008)(Edit, BlueprintVisible, ZeroConstructor, SaveGame, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FInteractionActivationData;

// ScriptStruct InteractionGeneric.GameplayEffectSpecData
// 0x000C (0x000C - 0x0000)
struct FGameplayEffectSpecData final
{
public:
	struct FGameplayTag                           DataTag;                                           // 0x0000(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	float                                         Magnitude;                                         // 0x0008(0x0004)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FGameplayEffectSpecData;

// ScriptStruct InteractionGeneric.InterfaceReference
// 0x0080 (0x0080 - 0x0000)
struct FInterfaceReference final
{
public:
	class FName                                   ComponentProperty;                                 // 0x0000(0x0008)(Edit, BlueprintVisible, ZeroConstructor, EditConst, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FString                                 PathToComponent;                                   // 0x0008(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnInstance, SaveGame, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TSoftObjectPtr<class UActorComponent>         ComponentSoftRef;                                  // 0x0018(0x0028)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, DisableEditOnInstance, InstancedReference, SaveGame, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TWeakObjectPtr<class UActorComponent>         OverrideComponent;                                 // 0x0040(0x0008)(ExportObject, ZeroConstructor, InstancedReference, SaveGame, IsPlainOldData, NoDestructor, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TSoftObjectPtr<class AActor>                  OtherActor;                                        // 0x0048(0x0028)(Edit, BlueprintVisible, DisableEditOnTemplate, SaveGame, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	class FString                                 ActorLabel;                                        // 0x0070(0x0010)(Edit, BlueprintVisible, ZeroConstructor, EditConst, SaveGame, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FInterfaceReference;

// ScriptStruct InteractionGeneric.BrokerInteraction
// 0x0060 (0x0060 - 0x0000)
struct FBrokerInteraction final
{
public:
	bool                                          DisableInteraction;                                // 0x0000(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_1[0x3];                                        // 0x0001(0x0003)(Fixing Size After Last Property [ Dumper-7 ])
	class FName                                   InteractionName;                                   // 0x0004(0x0008)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_C[0x4];                                        // 0x000C(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	struct FInteractionConditionSet               ConditionSet;                                      // 0x0010(0x0028)(Edit, BlueprintVisible, BlueprintReadOnly, SaveGame, ContainsInstancedReference, NativeAccessSpecifierPublic)
	TArray<class UInteractionExecutionRule*>      ExecutionRules;                                    // 0x0038(0x0010)(Edit, BlueprintVisible, ExportObject, BlueprintReadOnly, ZeroConstructor, SaveGame, ContainsInstancedReference, NativeAccessSpecifierPublic)
	TArray<struct FInterfaceReference>            EffectorComponents;                                // 0x0048(0x0010)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, DisableEditOnTemplate, SaveGame, ContainsInstancedReference, NativeAccessSpecifierPublic)
	bool                                          bSingleExecution;                                  // 0x0058(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bDisableEffectorOnEvaluationFail;                  // 0x0059(0x0001)(Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	EBrokerInteractionState                       InteractionState;                                  // 0x005A(0x0001)(BlueprintVisible, BlueprintReadOnly, ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_5B[0x1];                                       // 0x005B(0x0001)(Fixing Size After Last Property [ Dumper-7 ])
	float                                         LastInteractionTriggerTime;                        // 0x005C(0x0004)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FBrokerInteraction;

// ScriptStruct InteractionGeneric.InteractionBrokerArray
// 0x0010 (0x0010 - 0x0000)
struct FInteractionBrokerArray final
{
public:
	TArray<TWeakObjectPtr<class AInteractionGenericBroker>> BrokerActors;                            // 0x0000(0x0010)(ZeroConstructor, UObjectWrapper, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FInteractionBrokerArray;

// ScriptStruct InteractionGeneric.DelayedTriggersData
// 0x0010 (0x0010 - 0x0000)
struct FDelayedTriggersData final
{
public:
	class UInteractionGenericBaseTriggerComponent* TriggerComponent;                                 // 0x0000(0x0008)(Edit, BlueprintVisible, ExportObject, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bNewState;                                         // 0x0008(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_9[0x7];                                        // 0x0009(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FDelayedTriggersData;

// ScriptStruct InteractionGeneric.PendingTriggersMessageData
// 0x0040 (0x0040 - 0x0000)
struct FPendingTriggersMessageData final
{
public:
	TSoftObjectPtr<class UInteractionGenericBaseTriggerComponent> TriggerComponent;                  // 0x0000(0x0028)(ExportObject, InstancedReference, SaveGame, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bNewState;                                         // 0x0028(0x0001)(ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_29[0x7];                                       // 0x0029(0x0007)(Fixing Size After Last Property [ Dumper-7 ])
	TArray<TSoftObjectPtr<class AInteractionGenericBroker>> TriggeredBrokers;                        // 0x0030(0x0010)(ZeroConstructor, SaveGame, UObjectWrapper, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FPendingTriggersMessageData;

// ScriptStruct InteractionGeneric.InteractionPendingEffectorData
// 0x0088 (0x0088 - 0x0000)
struct FInteractionPendingEffectorData final
{
public:
	struct FInterfaceReference                    PendingEffectorComponent;                          // 0x0000(0x0080)(Edit, BlueprintVisible, SaveGame, ContainsInstancedReference, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	bool                                          bNewState;                                         // 0x0080(0x0001)(Edit, BlueprintVisible, ZeroConstructor, SaveGame, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_81[0x7];                                       // 0x0081(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FInteractionPendingEffectorData;

// ScriptStruct InteractionGeneric.CustomInteraction
// 0x0038 (0x0038 - 0x0000)
struct FCustomInteraction final
{
public:
	TArray<TSoftObjectPtr<class UObject>>         TriggerObjects;                                    // 0x0000(0x0010)(ZeroConstructor, SaveGame, UObjectWrapper, NativeAccessSpecifierPublic)
	TSoftObjectPtr<class UInteractionGenericEventReceiverComponent> EventComponent;                  // 0x0010(0x0028)(ExportObject, InstancedReference, SaveGame, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
};
DUMPER7_ASSERTS_FCustomInteraction;

// ScriptStruct InteractionGeneric.CustomInteractionPendingTriggerData
// 0x0088 (0x0088 - 0x0000)
struct FCustomInteractionPendingTriggerData final
{
public:
	TSoftObjectPtr<class UObject>                 TriggeringObject;                                  // 0x0000(0x0028)(Edit, BlueprintVisible, SaveGame, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	TSoftObjectPtr<class UInteractionGenericEventReceiverComponent> ReceiverComponent;               // 0x0028(0x0028)(Edit, BlueprintVisible, ExportObject, InstancedReference, SaveGame, UObjectWrapper, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	struct FInteractionActivationData             ActivationData;                                    // 0x0050(0x0030)(Edit, BlueprintVisible, SaveGame, NativeAccessSpecifierPublic)
	bool                                          bTriggerByEffector;                                // 0x0080(0x0001)(ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
	uint8                                         Pad_81[0x7];                                       // 0x0081(0x0007)(Fixing Struct Size After Last Property [ Dumper-7 ])
};
DUMPER7_ASSERTS_FCustomInteractionPendingTriggerData;

}

