#pragma once

#include "CoreMinimal.h"
#include "PlayerAnimInstance.h"
#include "EAttackSubstate.h"
#include "K37WolfPounceAttackSubAnimInstance.generated.h"

class UDBDAttackerComponent;

UCLASS(Blueprintable, NonTransient)
class THEK37_API UK37WolfPounceAttackSubAnimInstance : public UPlayerAnimInstance
{
	GENERATED_BODY()

protected:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool _isWolfBiteAttacking;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool _isChargingPounce;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool _isAdjustingPounce;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	EAttackSubstate _attackSubstateBeforeAdjusting;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	EAttackSubstate _attackState;

private:
	UPROPERTY(BlueprintReadWrite, Transient, Instanced, meta=(AllowPrivateAccess=true))
	UDBDAttackerComponent* _attackerComponent;

public:
	UK37WolfPounceAttackSubAnimInstance();
};

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