#pragma once

#include "CoreMinimal.h"
#include "BaseSurvivorAnimInstance.h"
#include "GameplayTagContainer.h"
#include "ArmOverrideSurvivorSubAnimInstance.generated.h"

class UAnimSequence;

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

protected:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool _isCrawling;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool _isHoldingHandleItem;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool _isArmOverrideDisabled;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool _isFrightScream;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool _isHoldingLantern;

	UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Transient)
	float _injuredNotUsingAimItem;

	UPROPERTY(EditAnywhere)
	FGameplayTag _asIdleArmOverrideTag;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	UAnimSequence* _asIdleArmOverride;

	UPROPERTY(EditAnywhere)
	FGameplayTag _asCrawlArmOverrideTag;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	UAnimSequence* _asCrawlArmOverride;

public:
	UArmOverrideSurvivorSubAnimInstance();
};

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