#pragma once

#include "CoreMinimal.h"
#include "StatusEffect.h"
#include "EK39PowerupModeStatus.h"
#include "K39KillerPowerupModeEffect.generated.h"

class UK39TentacleSwingAbilityData;

UCLASS(Blueprintable, EditInlineNew, meta=(BlueprintSpawnableComponent))
class UK39KillerPowerupModeEffect : public UStatusEffect
{
	GENERATED_BODY()

protected:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	UK39TentacleSwingAbilityData* _abilityData;

private:
	UPROPERTY(EditAnywhere, BlueprintReadWrite, ReplicatedUsing=OnRep_PowerupStatus, meta=(AllowPrivateAccess=true))
	EK39PowerupModeStatus _powerupStatus;

private:
	UFUNCTION(BlueprintCallable)
	void OnRep_PowerupStatus();

public:
	virtual void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;

public:
	UK39KillerPowerupModeEffect();
};

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