UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
BehaviorTargetInterfaces.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6
7#include "InputState.h"
8
15{
16public:
18
24 virtual void OnUpdateModifierState(int ModifierID, bool bIsOn)
25 {
26 }
27
31 virtual void OnForceEndCapture()
32 {
33 }
34};
35
41{
42public:
44
45 virtual void OnKeyPressed(const FKey& KeyID)
46 {
47 }
48
49 virtual void OnKeyReleased(const FKey& KeyID)
50 {
51 }
52
53 virtual void OnForceEndCapture()
54 {
55 }
56};
57
58
64{
65public:
67
74
75
80 virtual void OnClicked(const FInputDeviceRay& ClickPos) = 0;
81};
82
83
84
85
91{
92public:
94
101
102
107 virtual void OnClickPress(const FInputDeviceRay& PressPos) = 0;
108
113 virtual void OnClickDrag(const FInputDeviceRay& DragPos) = 0;
114
119 virtual void OnClickRelease(const FInputDeviceRay& ReleasePos) = 0;
120
124 virtual void OnTerminateDragSequence() = 0;
125};
126
127
132{
133public:
135
144
145
150 virtual void OnMouseWheelScrollUp(const FInputDeviceRay& CurrentPos) = 0;
151
156 virtual void OnMouseWheelScrollDown(const FInputDeviceRay& CurrentPos) = 0;
157
158};
159
160
161
162
163
164
170{
171public:
173
179
187
193
199
206
211 virtual void OnTerminateClickSequence() = 0;
212
217 virtual bool RequestAbortClickSequence() { return false; }
218};
219
220
221
222
223
230{
231public:
233
238
242 virtual void OnBeginHover(const FInputDeviceRay& DevicePos) = 0;
243
247 virtual bool OnUpdateHover(const FInputDeviceRay& DevicePos) = 0;
248
252 virtual void OnEndHover() = 0;
253};
254
255
261{
262public:
263
264 /* IPropertyInterface encapsulates a virtual 'property' (which may or may not map to a single member or property) */
266 {
268
269 virtual FText GetName() = 0; // Get a name for this virtual property (for display purposes).
270 virtual float GetValue() = 0;
271 virtual void SetValue(float NewValue) = 0;
272 virtual float GetEditRate() { return 0.003f; } // Scales how quickly this property is edited with respect to a fixed mouse movement.
273 virtual float MutateDelta(float Delta) { return Delta; } // Provides a hook to further augment the delta that is about to be applied to this property.
274 virtual bool IsEnabled() { return false; }
275 };
276
277public:
278
280
283
284 virtual FKey GetCaptureKey() { return EKeys::B; }
285 virtual void PostDragUpdated() {}
286};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition Text.h:385
Definition BehaviorTargetInterfaces.h:64
virtual void OnClicked(const FInputDeviceRay &ClickPos)=0
virtual FInputRayHit IsHitByClick(const FInputDeviceRay &ClickPos)=0
virtual ~IClickBehaviorTarget()
Definition BehaviorTargetInterfaces.h:66
Definition BehaviorTargetInterfaces.h:91
virtual void OnClickDrag(const FInputDeviceRay &DragPos)=0
virtual void OnClickRelease(const FInputDeviceRay &ReleasePos)=0
virtual void OnTerminateDragSequence()=0
virtual void OnClickPress(const FInputDeviceRay &PressPos)=0
virtual ~IClickDragBehaviorTarget()
Definition BehaviorTargetInterfaces.h:93
virtual FInputRayHit CanBeginClickDragSequence(const FInputDeviceRay &PressPos)=0
Definition BehaviorTargetInterfaces.h:170
virtual void OnNextSequencePreview(const FInputDeviceRay &ClickPos)
Definition BehaviorTargetInterfaces.h:198
virtual void OnBeginClickSequence(const FInputDeviceRay &ClickPos)=0
virtual void OnBeginSequencePreview(const FInputDeviceRay &ClickPos)
Definition BehaviorTargetInterfaces.h:178
virtual bool OnNextSequenceClick(const FInputDeviceRay &ClickPos)=0
virtual bool CanBeginClickSequence(const FInputDeviceRay &ClickPos)=0
virtual bool RequestAbortClickSequence()
Definition BehaviorTargetInterfaces.h:217
virtual void OnTerminateClickSequence()=0
virtual ~IClickSequenceBehaviorTarget()
Definition BehaviorTargetInterfaces.h:172
Definition BehaviorTargetInterfaces.h:230
virtual FInputRayHit BeginHoverSequenceHitTest(const FInputDeviceRay &PressPos)=0
virtual bool OnUpdateHover(const FInputDeviceRay &DevicePos)=0
virtual ~IHoverBehaviorTarget()
Definition BehaviorTargetInterfaces.h:232
virtual void OnEndHover()=0
virtual void OnBeginHover(const FInputDeviceRay &DevicePos)=0
Definition BehaviorTargetInterfaces.h:41
virtual void OnForceEndCapture()
Definition BehaviorTargetInterfaces.h:53
virtual void OnKeyPressed(const FKey &KeyID)
Definition BehaviorTargetInterfaces.h:45
virtual void OnKeyReleased(const FKey &KeyID)
Definition BehaviorTargetInterfaces.h:49
virtual ~IKeyInputBehaviorTarget()
Definition BehaviorTargetInterfaces.h:43
Definition BehaviorTargetInterfaces.h:15
virtual void OnUpdateModifierState(int ModifierID, bool bIsOn)
Definition BehaviorTargetInterfaces.h:24
virtual ~IModifierToggleBehaviorTarget()
Definition BehaviorTargetInterfaces.h:17
virtual void OnForceEndCapture()
Definition BehaviorTargetInterfaces.h:31
Definition BehaviorTargetInterfaces.h:132
virtual ~IMouseWheelBehaviorTarget()
Definition BehaviorTargetInterfaces.h:134
virtual void OnMouseWheelScrollDown(const FInputDeviceRay &CurrentPos)=0
virtual FInputRayHit ShouldRespondToMouseWheel(const FInputDeviceRay &CurrentPos)=0
virtual void OnMouseWheelScrollUp(const FInputDeviceRay &CurrentPos)=0
Definition BehaviorTargetInterfaces.h:261
virtual FKey GetCaptureKey()
Definition BehaviorTargetInterfaces.h:284
virtual ~ITwoAxisPropertyEditBehaviorTarget()
Definition BehaviorTargetInterfaces.h:279
virtual void PostDragUpdated()
Definition BehaviorTargetInterfaces.h:285
virtual IPropertyInterface * GetVerticalProperty()=0
virtual IPropertyInterface * GetHorizontalProperty()=0
static INPUTCORE_API const FKey B
Definition InputCoreTypes.h:339
Definition InputState.h:367
Definition InputState.h:52
Definition InputCoreTypes.h:50
Definition BehaviorTargetInterfaces.h:266
virtual bool IsEnabled()
Definition BehaviorTargetInterfaces.h:274
virtual float GetEditRate()
Definition BehaviorTargetInterfaces.h:272
virtual float MutateDelta(float Delta)
Definition BehaviorTargetInterfaces.h:273
virtual ~IPropertyInterface()
Definition BehaviorTargetInterfaces.h:267