// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "Components/ArrowComponent.h"
#include "GameFramework/Actor.h"
#include "EndlessVendetta/InteractionInterface.h"
#include "DoorClass.generated.h"

class AEndlessVendettaCharacter;

UCLASS()
class ENDLESSVENDETTA_API ADoorClass : public AActor, public IInteractionInterface
{
	GENERATED_BODY()
	
public:	
	// Sets default values for this actor's properties
	ADoorClass();

protected:
	// Called when the game starts or when spawned
	virtual void BeginPlay() override;
	
	ACharacter* playerInWorld;
	
	AEndlessVendettaCharacter* endlessVendettaChar;

	UArrowComponent* FrontOfDoor;

public:	
	// Called every frame
	virtual void Tick(float DeltaTime) override;

	void Interact() override;

	void InteractPrompt() override;

	UFUNCTION(BlueprintImplementableEvent)
	void DoorPrompt();

	UFUNCTION(BlueprintImplementableEvent)
	void DoorOpeningAnim();

	UFUNCTION(BlueprintImplementableEvent)
	void DoorCloseAnim();
	
	bool bIsDoorOpen = false;

};
