5#include "CoreMinimal.h"
7#include "UObject/Interface.h"
8#include "SpottableInterface.generated.h"
10UINTERFACE(BlueprintType, meta = (CannotImplementInterfaceInBlueprint))
13 GENERATED_UINTERFACE_BODY()
41 GENERATED_IINTERFACE_BODY()
43 FSpottedSignature InterfaceOnSpottedStartEvent;
44 FSpottedSignature InterfaceOnSpottedEndEvent;
48 UFUNCTION(BlueprintCallable, Category = SpottableInterface)
51 UFUNCTION(BlueprintCallable, Category = SpottableInterface)
52 virtual FVector GetSpottingTraceOffset()
const {
return FVector::ZeroVector; }
54 UFUNCTION(Category =
"SpottableInterface Events")
55 virtual FSpottedSignature& GetSpottedStartEvent() {
return InterfaceOnSpottedStartEvent; }
56 UFUNCTION(Category =
"SpottableInterface Events")
57 virtual FSpottedSignature& GetSpottedStopEvent() {
return InterfaceOnSpottedEndEvent; }
59 UFUNCTION(BlueprintCallable, Category =
"SpottableInterface Events")
60 virtual
void BroadcastSpottedEvent() { InterfaceOnSpottedStartEvent.Broadcast(); }
61 UFUNCTION(BlueprintCallable, Category =
"SpottableInterface Events")
62 virtual
void BroadcastSpottedEndEvent() { InterfaceOnSpottedEndEvent.Broadcast(); }
64 UFUNCTION(BlueprintCallable, Category =
"SpottableInterface Events")
65 virtual
void BindToSpottedEvent(const FBPSpottedSignature& Event) { InterfaceOnSpottedStartEvent.Add(Event); }
66 UFUNCTION(BlueprintCallable, Category =
"SpottableInterface Events")
67 virtual
void BindToSpottedEndEvent(const FBPSpottedSignature& Event) { InterfaceOnSpottedEndEvent.Add(Event); }
69 UFUNCTION(BlueprintCallable, Category =
"SpottableInterface Events")
70 virtual
void UnBindToSpottedEvent(const FBPSpottedSignature& Event) { InterfaceOnSpottedStartEvent.Remove(Event); }
71 UFUNCTION(BlueprintCallable, Category =
"SpottableInterface Events")
72 virtual
void UnBindToSpottedEndEvent(const FBPSpottedSignature& Event) { InterfaceOnSpottedEndEvent.Remove(Event); }
74 UFUNCTION(BlueprintCallable, Category =
"SpottableInterface Events")
75 virtual
void ClearAllSpottedEvents() { InterfaceOnSpottedStartEvent.Clear(); }
76 UFUNCTION(BlueprintCallable, Category =
"SpottableInterface Events")
77 virtual
void ClearAllSpottedEndEvents() { InterfaceOnSpottedEndEvent.Clear(); }
ESpotType
Definition: SpottableInterface.h:18
ESpotReply
Definition: SpottableInterface.h:27
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FSpottedSignature)
DECLARE_DYNAMIC_DELEGATE(FBPSpottedSignature)
Definition: SpottableInterface.h:40
Definition: SpottableInterface.h:12