#pragma once

#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "GameplayTagContainer.h"
#include "GameEventData.h"
#include "WormholeFatherHackableActor.generated.h"

class UWormholeFatherHackingComponent;

UCLASS(Blueprintable)
class DBDGAMEPLAY_API AWormholeFatherHackableActor : public AActor
{
	GENERATED_BODY()

protected:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FGameplayTagContainer _hackedGameEvents;

	UPROPERTY(BlueprintReadWrite, Transient, Instanced)
	UWormholeFatherHackingComponent* _hackingComponent;

protected:
	UFUNCTION(BlueprintNativeEvent)
	void OnHackedEvent(const FGameplayTag gameEvent, const FGameEventData& gameEventData);

public:
	AWormholeFatherHackableActor();
};

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