#pragma once

#include "CoreMinimal.h"
#include "Templates/SubclassOf.h"
#include "UObject/NoExportTypes.h"
#include "K41ProjectileSpawnAroundActorData.generated.h"

class AActor;

USTRUCT(BlueprintType)
struct FK41ProjectileSpawnAroundActorData
{
	GENERATED_BODY()

public:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TSubclassOf<AActor> ActorType;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FVector SpawningOffset;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FVector2D PitchEntropy;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FVector2D YawEntropy;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool ShouldBlockSpawningIfCollisionTooClose;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float CollisionCheckDistance;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FName CollisionProfile;

public:
	THEK41_API FK41ProjectileSpawnAroundActorData();
};

FORCEINLINE uint32 GetTypeHash(const FK41ProjectileSpawnAroundActorData) { return 0; }
