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

#pragma once

#include "CoreMinimal.h"
#include "Components/ActorComponent.h"
#include "NiagaraComponent.h"
#include "NiagaraFunctionLibrary.h"
#include "HoldToInitCombat.generated.h"

class UNiagaraSystem;

UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
class THE_TWILIGHT_ABYSS_API UHoldToInitCombat : public UActorComponent
{
	GENERATED_BODY()

public:
	// Sets default values for this component's properties
	UHoldToInitCombat();
	UPROPERTY()
	UUserWidget* InitCombatWidget;
	UPROPERTY()
	TSubclassOf<UUserWidget> InitCombatWidgetClass;

	UPROPERTY()
	UNiagaraSystem* GunEffect;

protected:
	// Called when the game starts
	virtual void BeginPlay() override;

public:
	// Called every frame
	virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;

private:
	void OnRightClickDown();
	void OnRightClickUp();
	bool bRightClickDown = false;
	float RightClickDownTime = 0.0f;
	
	UFUNCTION()
	AActor* LookingAtEnemy() const;
	AActor* TargetEnemy = nullptr;
};