#pragma once

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

// Package: BP_EnvironmentSystem_DamagedSpawn

#include "Basic.hpp"

#include "Engine_structs.hpp"
#include "BP_EnvironmentSystem_Base_classes.hpp"
#include "EN_DamageType_structs.hpp"


SDK_NAMESPACE_START

// BlueprintGeneratedClass BP_EnvironmentSystem_DamagedSpawn.BP_EnvironmentSystem_DamagedSpawn_C
// 0x00A8 (0x0360 - 0x02B8)
class ABP_EnvironmentSystem_DamagedSpawn_C : public ABP_EnvironmentSystem_Base_C
{
public:
	struct FPointerToUberGraphFrame               UberGraphFrame_BP_EnvironmentSystem_DamagedSpawn_C; // 0x02B8(0x0008)(ZeroConstructor, Transient, DuplicateTransient)
	class UBillboardComponent*                    SpawnPosition;                                     // 0x02C0(0x0008)(BlueprintVisible, ZeroConstructor, InstancedReference, NonTransactional, NoDestructor, HasGetValueTypeHash)
	int32                                         SpawnEventLimit;                                   // 0x02C8(0x0004)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	uint8                                         Pad_2CC[0x4];                                      // 0x02CC(0x0004)(Fixing Size After Last Property [ Dumper-7 ])
	double                                        DefaultHealth;                                     // 0x02D0(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	TMap<class FName, double>                     DamageMultiplyByName;                              // 0x02D8(0x0050)(Edit, BlueprintVisible)
	double                                        DefaultDamageMultiply;                             // 0x0328(0x0008)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	double                                        CurrentHealth;                                     // 0x0330(0x0008)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	TArray<class UClass*>                         SpawnClass;                                        // 0x0338(0x0010)(Edit, BlueprintVisible, DisableEditOnInstance)
	TArray<class UBillboardComponent*>            SpawnPoints;                                       // 0x0348(0x0010)(Edit, BlueprintVisible, DisableEditOnInstance, ContainsInstancedReference)
	bool                                          AutoDestroy;                                       // 0x0358(0x0001)(Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	bool                                          UseBillboardScale;                                 // 0x0359(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)
	bool                                          UniqueSpawn;                                       // 0x035A(0x0001)(Edit, BlueprintVisible, ZeroConstructor, DisableEditOnInstance, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

public:
	void Damage(double DamageValue, int32 TeamIndex, EN_DamageType DamageType, const struct FTransform& SourceAgentPoint, bool UnAvoidable, class FName DamageName, class AActor* SourceActor, struct FFinishFilter* Finish);
	void ReceiveBeginPlay();
	void SpawnMaterial();
	void ReplicateEvent();
	void ExecuteUbergraph_BP_EnvironmentSystem_DamagedSpawn(int32 EntryPoint);

public:
	static class UClass* StaticClass()
	{
		BP_STATIC_CLASS_IMPL("BP_EnvironmentSystem_DamagedSpawn_C")
	}
	static const class FName& StaticName()
	{
		STATIC_NAME_IMPL(L"BP_EnvironmentSystem_DamagedSpawn_C")
	}
	static class ABP_EnvironmentSystem_DamagedSpawn_C* GetDefaultObj()
	{
		return GetDefaultObjImpl<ABP_EnvironmentSystem_DamagedSpawn_C>();
	}
};
DUMPER7_ASSERTS_ABP_EnvironmentSystem_DamagedSpawn_C;

SDK_NAMESPACE_END
