24 UFUNCTION(BlueprintCallable, Category =
"Interaction")
25 virtual
void OnInteract(AActor* Caller, const int32 SelectedInteraction = 0) = 0;
27 UFUNCTION(BlueprintCallable, Category = "
Interaction")
28 virtual
void OnEndInteract(AActor* Caller) = 0;
30 UFUNCTION(BlueprintCallable, Category = "
Interaction")
31 virtual
bool OnOverlap(AActor* Caller) = 0;
32 UFUNCTION(BlueprintCallable, Category = "
Interaction")
33 virtual
void OnEndOverlap(AActor* Caller) = 0;
36 UFUNCTION(BlueprintCallable, Category = "
Interaction")
37 virtual
void StartFocus(AActor* Caller) = 0;
38 UFUNCTION(BlueprintCallable, Category = "
Interaction")
39 virtual
void EndFocus(AActor* Caller) = 0;
41 UFUNCTION(BlueprintCallable, Category = "
Interaction")
42 virtual
void ToggleSwitch(AActor* Caller, const
bool bOn) = 0;
44 UFUNCTION(BlueprintCallable, Category = "
Interaction")
45 virtual
bool GetLoseFocusAfterInteract()
const {
return false;};
47 UFUNCTION(BlueprintCallable, Category =
"Interaction")
48 virtual FVector GetInteractionLocation() const = 0;
50 UFUNCTION(BlueprintCallable, Category = "
Interaction")
51 virtual
float GetAimAssistInfluence()
const {
return 0.0f;};
53 UFUNCTION(BlueprintCallable, Category =
"Interaction")
56 UFUNCTION(BlueprintCallable, Category = "
Interaction")
57 virtual
void InteractionDataUpdated()
const {};
58 UFUNCTION(BlueprintCallable, Category =
"Interaction")
59 virtual
void UpdateInteractionData() {};
61 UFUNCTION(BlueprintCallable, Category =
"Interaction")
62 virtual UPrimitiveComponent* GetGrabComponent() const = 0;
69 UFUNCTION(BlueprintCallable, Category = "
Base Helpers")
73 UpdateInteractionData();
75 UFUNCTION(BlueprintCallable, Category =
"Base Helpers")
78 const bool bHidden = GetInteractionData().SetInteractionHidden(
Interaction, bValue);
79 UpdateInteractionData();
83 UFUNCTION(BlueprintCallable, Category =
"Base Helpers")
86 const bool bAvailable = GetInteractionData().SetInteractionAvailable(
Interaction, bValue);
87 UpdateInteractionData();
91 UFUNCTION(BlueprintCallable, Category =
"Base Helpers")
94 const bool bHold = GetInteractionData().SetInteractionHold(
Interaction, bValue);
95 UpdateInteractionData();
99 UFUNCTION(BlueprintCallable, Category =
"Base Helpers")
102 TArray<FInteractionType> Types;
103 return GetInteractionData().GetVisibleInteractions();
106 UFUNCTION(BlueprintCallable, Category =
"Base Helpers")
109 return GetInteractionData().GetInteraction(Type,
Interaction);
111 UFUNCTION(BlueprintCallable, Category =
"Base Helpers")
114 UpdateInteractionData();
115 return GetInteractionData().GetDefaultInteraction(Type);