// Project Sword & Gun Copyright © 2021 Kevin Poretti

#pragma once

#include "CoreMinimal.h"

#include "SwordNGun/SNGTypes.h"
#include "Weapons/SNGWeaponBase.h"
#include "SNGMeleeWeaponBase.generated.h"

/**
 * 
 */
UCLASS()
class SWORDNGUN_API ASNGMeleeWeaponBase : public ASNGWeaponBase
{
	GENERATED_BODY()

public:	
	ASNGMeleeWeaponBase();
	
	UFUNCTION(BlueprintCallable)
	void ClearAlreadyHitActors();
	
	UFUNCTION(BlueprintCallable)
	void DoSphereCast(FSNGHitData const& HitData, bool OverrideStartAndEnd = false,
		FVector StartOverride = FVector::ZeroVector, FVector EndOverride = FVector::ZeroVector);
	
protected:
	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Sockets")
	FName GripName;
	
	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="Sockets")
	FName TipName;

	TArray<AActor*> AlreadyHitActors;
};
