#pragma once

#include "CoreMinimal.h"
#include "SurvivorAimableSubAnimInstance.h"
#include "GameplayTagContainer.h"
#include "FlashlightSurvivorSubAnimInstance.generated.h"

class UAnimSequence;
class UAimOffsetBlendSpace1D;

UCLASS(Blueprintable, NonTransient)
class DBDANIMATION_API UFlashlightSurvivorSubAnimInstance : public USurvivorAimableSubAnimInstance
{
	GENERATED_BODY()

protected:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool _isInjured;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool _isCrouching;

	UPROPERTY(EditAnywhere)
	FGameplayTag _asFlashlightStandPoseTag;

	UPROPERTY(EditAnywhere)
	FGameplayTag _bsFlashlightAimOffsetTag;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	UAnimSequence* _asFlashlightStandPose;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	UAimOffsetBlendSpace1D* _bsFlashlightAimOffset;

	UPROPERTY(BlueprintReadWrite, Transient)
	bool _baseStateToFlashlightAimStateRule;

	UPROPERTY(BlueprintReadWrite, Transient)
	bool _baseStateToFlashlightHoldStateRule;

public:
	UFlashlightSurvivorSubAnimInstance();
};

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