#pragma once

#include "CoreMinimal.h"
#include "KillerAttackSubAnimInstance.h"
#include "EDestroyBreakState.h"
#include "AnimSequenceSelector.h"
#include "K06SpecialPounceAttackSubAnimInstance.generated.h"

class UK06EvilWithinModeAbility;

UCLASS(Blueprintable, NonTransient)
class THESHAPE_API UK06SpecialPounceAttackSubAnimInstance : public UKillerAttackSubAnimInstance
{
	GENERATED_BODY()

protected:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool _isCharging;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool _isAttacking;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	EDestroyBreakState _destroyBreakState;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FAnimSequenceSelector _destroyBreakHitting;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FAnimSequenceSelector _destroyBreakPostHit;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float _destroyBreakHittingPlayRate;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float _destroyBreakPostHitPlayRate;

private:
	UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Transient, Instanced, meta=(AllowPrivateAccess=true))
	UK06EvilWithinModeAbility* _evilWithinModeAbility;

public:
	UK06SpecialPounceAttackSubAnimInstance();
};

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