Navigation
API > API/Runtime > API/Runtime/InteractiveToolsFramework
UMultiClickSequenceInputBehavior implements a generic multi-click-sequence input behavior. For example this behavior could be used to implement a multi-click polygon-drawing interaction.
The internal state machine works as follows: 1) on input-device-button-press, check if target wants to begin sequence. If so, begin capture. 2) on button release, check if target wants to continue or terminate sequence a) if terminate, release capture b) if continue, do nothing (capture continues between presses)
The target will receive "preview" notifications (basically hover) during updates where there is not a release. This can be used to (eg) update a rubber-band selection end point
| Name | UMultiClickSequenceInputBehavior |
| Type | class |
| Header File | /Engine/Source/Runtime/InteractiveToolsFramework/Public/BaseBehaviors/MultiClickSequenceInputBehavior.h |
| Include Path | #include "BaseBehaviors/MultiClickSequenceInputBehavior.h" |
Syntax
UCLASS (MinimalAPI)
class UMultiClickSequenceInputBehavior : public UAnyButtonInputBehavior
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UInputBehavior → UAnyButtonInputBehavior → UMultiClickSequenceInputBehavior
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UMultiClickSequenceInputBehavior() |
BaseBehaviors/MultiClickSequenceInputBehavior.h |
Enums
Protected
| Name | Remarks |
|---|---|
| ESequenceState |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| HoverModifierCheckFunc | TFunction< bool(const FInputDeviceState &)> | WantsHoverCapture() will only return capture request if this function returns true (or is null) | BaseBehaviors/MultiClickSequenceInputBehavior.h | |
| ModifierCheckFunc | TFunction< bool(const FInputDeviceState &)> | The first click will only be accepted if this function returns true (or is null) | BaseBehaviors/MultiClickSequenceInputBehavior.h | |
| Modifiers | FInputBehaviorModifierStates | The modifier set for this behavior | BaseBehaviors/MultiClickSequenceInputBehavior.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void Initialize
(
IClickSequenceBehaviorTarget* Target |
Initialize this behavior with the given Target | BaseBehaviors/MultiClickSequenceInputBehavior.h |
Overridden from UInputBehavior
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FInputCaptureUpdate BeginCapture
(
const FInputDeviceState& InputState, |
Called after WantsCapture() returns a capture request that was accepted | BaseBehaviors/MultiClickSequenceInputBehavior.h | |
virtual FInputCaptureUpdate BeginHoverCapture
(
const FInputDeviceState& InputState, |
Called after WantsHoverCapture() returns a capture request that was accepted | BaseBehaviors/MultiClickSequenceInputBehavior.h | |
virtual void EndHoverCapture() |
If a different hover capture begins, focus is lost, a tool starts, etc, any active hover visualization needs to terminate | BaseBehaviors/MultiClickSequenceInputBehavior.h | |
virtual void ForceEndCapture
(
const FInputCaptureData& CaptureData |
If this is called, the Behavior has forcibly lost capture (eg due to app losing focus for example) and needs to clean up accordingly | BaseBehaviors/MultiClickSequenceInputBehavior.h | |
virtual FInputCaptureUpdate UpdateCapture
(
const FInputDeviceState& InputState, |
Called for each new input event during a capture sequence. | BaseBehaviors/MultiClickSequenceInputBehavior.h | |
virtual FInputCaptureUpdate UpdateHoverCapture
(
const FInputDeviceState& InputState |
Called on each new hover input event, ie if no other behavior is actively capturing input | BaseBehaviors/MultiClickSequenceInputBehavior.h | |
virtual FInputCaptureRequest WantsCapture
(
const FInputDeviceState& InputState |
Given the input state, does this Behavior want to begin capturing some input devices? | BaseBehaviors/MultiClickSequenceInputBehavior.h | |
virtual FInputCaptureRequest WantsHoverCapture
(
const FInputDeviceState& InputState |
Given the input state, does this Behavior want to begin capturing some input devices for hover | BaseBehaviors/MultiClickSequenceInputBehavior.h | |
virtual bool WantsHoverEvents() |
Hover support (optional) return true if this Behavior supports hover (ie passive input events) | BaseBehaviors/MultiClickSequenceInputBehavior.h |