#pragma once

#include "CoreMinimal.h"
#include "SleepingAnimInstance.h"
#include "ChestAnimInstance.generated.h"

class ADBDPlayer;

UCLASS(Blueprintable, NonTransient)
class DBDANIMATION_API UChestAnimInstance : public USleepingAnimInstance
{
	GENERATED_BODY()

protected:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool _isOpen;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool _isBeingPriedOpen;

private:
	UFUNCTION(BlueprintCallable)
	void OnIsOpenedChanged(const bool isOpened);

	UFUNCTION(BlueprintCallable)
	void OnBeingPriedOpenStopped();

	UFUNCTION(BlueprintCallable)
	void OnBeingPriedOpenStarted(ADBDPlayer* player);

public:
	UChestAnimInstance();
};

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