5#include "CoreMinimal.h"
7#include "UObject/Interface.h"
8#include "LockOnTargetInterface.generated.h"
17UINTERFACE(meta = (CannotImplementInterfaceInBlueprint))
20 GENERATED_UINTERFACE_BODY()
28 GENERATED_IINTERFACE_BODY()
36 UFUNCTION(BlueprintCallable, Category = LockOnTargetInterface)
37 virtual
bool CanBeLockedOn(const AActor* LockInstigator)
const {
return true; }
39 UFUNCTION(BlueprintCallable, Category = LockOnTargetInterface)
40 virtual
bool CanHomingReadSignature(const
AProjectile* HomingProjectile)
const {
return true; }
41 UFUNCTION(BlueprintCallable, Category = LockOnTargetInterface)
42 virtual void IssueImminentMissileWarning(
bool bToggleWarning, AActor* WarningIntigator);
47 UFUNCTION(BlueprintCallable, Category = LockOnTargetInterface)
48 virtual FVector2D GetLockOnScreenPercentage() {
return FVector2D::ZeroVector;}
54 UFUNCTION(BlueprintCallable, Category = LockOnTargetInterface)
55 virtual
float GetLockOnMaxDistance(){
return .0f;}
58 UFUNCTION(Category =
"LockOnTargetInterface Events")
59 virtual FPawnLockOnSignature& GetLockOnTentativeStartDelegate() {
return PawnInterfaceLockOn; }
61 UFUNCTION(Category =
"LockOnTargetInterface Events")
62 virtual FPawnLockOnSignature& GetLockOnTentativeEndDelegate() {
return PawnInterfaceLockOn; }
64 UFUNCTION(Category =
"LockOnTargetInterface Events")
65 virtual FPawnLockOnSignature& GetLockOnStartDelegate() {
return PawnInterfaceLockOn;}
67 UFUNCTION(Category =
"LockOnTargetInterface Events")
68 virtual FPawnLockOnSignature& GetLockOnEndDelegate() {
return PawnInterfaceLockOn; }
70 UFUNCTION(Category =
"LockOnTargetInterface Events")
71 virtual FPawnIncomingProjectileSignature& GetIncomingProjectileStartDelegate() {
return PawnInterfaceIncomingProjectile; }
73 UFUNCTION(Category =
"LockOnTargetInterface Events")
74 virtual FPawnIncomingProjectileSignature& GetIncomingProjectileEndDelegate() {
return PawnInterfaceIncomingProjectile; }
75 UFUNCTION(Category =
"LockOnTargetInterface Events")
76 virtual FPawnImminentMissileWarningSignature& GetImminentMissileWarningStartDelegate() {
return OnImminentMissileWarning; }
77 UFUNCTION(Category =
"LockOnTargetInterface Events")
78 virtual FPawnImminentMissileWarningSignature& GetImminentMissileWarningEndDelegate() {
return OnImminentMissileWarning; }
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FPawnLockOnSignature, UWeaponInstance *, WeaponLocking)
Definition: Projectile.h:18
Definition: LockOnTargetInterface.h:27
FPawnImminentMissileWarningSignature OnImminentMissileWarning
Definition: LockOnTargetInterface.h:32
FPawnIncomingProjectileSignature PawnInterfaceIncomingProjectile
Definition: LockOnTargetInterface.h:33
FPawnLockOnSignature PawnInterfaceLockOn
Definition: LockOnTargetInterface.h:31
Definition: LockOnTargetInterface.h:19
Definition: WeaponInstance.h:220