#pragma once

#include "CoreMinimal.h"
#include "EVoidEnergyType.h"
#include "UObject/NoExportTypes.h"
#include "OrbProperties.generated.h"

class AActor;
class ADBDPlayer;

USTRUCT(BlueprintType)
struct FOrbProperties
{
	GENERATED_BODY()

public:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	EVoidEnergyType VoidEnergyType;

	UPROPERTY(EditAnywhere)
	TWeakObjectPtr<AActor> ActorToFollow;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FVector SpawnOffset;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FVector CustomEndLocation;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float CustomTravelTime;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TArray<ADBDPlayer*> ExtraPlayersToObserveOrbs;

public:
	HALLOWEEN_API FOrbProperties();
};

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