#pragma once

#include "CoreMinimal.h"
#include "BaseSurvivorAnimInstance.h"
#include "EInteractionAnimation.h"
#include "GameplayTagContainer.h"
#include "FireCrackerSurvivorSubAnimInstance.generated.h"

class UAnimSequence;

UCLASS(Blueprintable, NonTransient)
class DBDANIMATION_API UFireCrackerSurvivorSubAnimInstance : public UBaseSurvivorAnimInstance
{
	GENERATED_BODY()

protected:
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Transient)
	bool _idle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Transient)
	EInteractionAnimation _interactionType;

	UPROPERTY(EditAnywhere)
	FGameplayTag _activeTag;

	UPROPERTY(EditAnywhere)
	FGameplayTag _asFireCrackerDropTag;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Transient)
	UAnimSequence* _asFireCrackerDrop;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Transient)
	bool _fireCrackerToBaseRule;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Transient)
	bool _baseToFireCrackerRule;

protected:
	UFUNCTION(BlueprintCallable)
	void RemovedTags();

public:
	UFireCrackerSurvivorSubAnimInstance();
};

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