#pragma once

#include "CoreMinimal.h"
#include "KillerPower.h"
#include "K15Power.generated.h"

class ULinkedVomitInteraction;
class UVomitStateComponent;
class ADBDPlayer;

UCLASS(Blueprintable)
class AK15Power : public AKillerPower
{
	GENERATED_BODY()

protected:
	UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(BindWidgetOptional))
	ULinkedVomitInteraction* _linkedVomitInteraction;

private:
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Export, meta=(AllowPrivateAccess=true))
	UVomitStateComponent* _vomitStateComponent;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Transient, meta=(AllowPrivateAccess=true))
	bool _startWithSuperVomitActive;

private:
	UFUNCTION(BlueprintCallable)
	void OnLinkedVomitInteractionStarted();

	UFUNCTION(BlueprintCallable)
	void OnLinkedVomitInteractionFinished(ADBDPlayer* interactingPlayer, bool hasInteractionStarted);

public:
	AK15Power();
};

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