#pragma once

#include "CoreMinimal.h"
#include "DBDBaseAnimInstance.h"
#include "K41BodyHuskAnimInstance.generated.h"

class USkeletalMeshComponent;
class UKillerAnimInstance;

UCLASS(Blueprintable, NonTransient)
class THEK41_API UK41BodyHuskAnimInstance : public UDBDBaseAnimInstance
{
	GENERATED_BODY()

protected:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool _isIdle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool _isFalling;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool _isMovingOnGround;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float _animSpeed;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float _forwardVelocityPercentage;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float _lateralVelocityPercentage;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool _isTransitioningToHeadMode;

protected:
	UFUNCTION(BlueprintPure)
	USkeletalMeshComponent* GetKillerSkeletalMeshComponent() const;

	UFUNCTION(BlueprintPure)
	UKillerAnimInstance* GetKillerAnimationInstance() const;

public:
	UK41BodyHuskAnimInstance();
};

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