5#include "CoreMinimal.h"
6#include "Components/ActorComponent.h"
8#include "TargetingComponent.generated.h"
19 SoftTargeting
UMETA(DisplayName =
"소프트 타겟팅", ToolTip =
"상호작용(공격도 포함) 범위 안에 들어있는 대상"),
20 HardTargeting
UMETA(DisplayName =
"하드 하겟팅", ToolTip =
"유저 입력으로 UI와 카메라 방향 고정으로 지목된 대상")
24UCLASS(ClassGroup=(Combat), meta=(BlueprintSpawnableComponent))
25class CK_UE_API UTargetingComponent :
public UActorComponent
30 UTargetingComponent();
34 void ResetHardLockTarget();
35 void ClearHardLockTarget();
39 ITargetableInterface* FindNearestTargetByDirection(const FVector& Origin, const FVector& Direction,
float MaxRange) const;
41 FOnHardLockTargetChangedSignature OnHardLockTargetChanged;
45 void ResetSoftLockTarget();
50 UFUNCTION(BlueprintPure, Category = "Targeting")
51 bool HasHardLockTarget() const;
53 UFUNCTION(BlueprintPure, Category = "Targeting")
56 UFUNCTION(BlueprintPure, Category = "Targeting")
62 return HardLockTarget.GetInterface();
74 TWeakObjectPtr<AActor> SoftLockTargetActor;
75 bool bSoftLockActive = false;
DECLARE_MULTICAST_DELEGATE_OneParam(FOnHardLockTargetChangedSignature, ITargetableInterface *)
ETargetingMode
Definition TargetingComponent.h:18
Definition EnemyCharacterBase.h:49
Definition TargetableInterface.h:20