UMultiClickSequenceInputBehavior

[UMultiClickSequenceInputBehavior](API\Runtime\InteractiveToolsFramework\BaseBehaviors\UMultiClickSeque-) implements a generic multi-click-sequence input behavior.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

InteractiveToolsFramework

Header

/Engine/Source/Runtime/Experimental/InteractiveToolsFramework/Public/BaseBehaviors/MultiClickSequenceInputBehavior.h

Include

#include "BaseBehaviors/MultiClickSequenceInputBehavior.h"

Syntax

class UMultiClickSequenceInputBehavior : public UAnyButtonInputBehavior

Remarks

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

Variables

Name Description

Public variable

TFunction< bool...

 

ModifierCheckFunc

The first click will only be accepted if this function returns true (or is null)

Public variable

FInputBehaviorM...

 

Modifiers

The modifier set for this behavior

Protected variable

ESequenceState

 

State

Protected variable

IClickSequenceB...

 

Target

Click Target object

Constructors

Functions

Name Description

Public function Virtual

void

 

Initialize

Initialize this behavior with the given Target

Overridden from UInputBehavior

Name Description

Public function Virtual

FInputCaptur...

 

BeginCapture

(
    const FInputDeviceState& InputStat...,
    EInputCaptureSide eSide
)

Called after WantsCapture() returns a capture request that was accepted

Public function Virtual

FInputCaptur...

 

BeginHoverCapture

(
    const FInputDeviceState& InputStat...,
    EInputCaptureSide eSide
)

Called after WantsHoverCapture() returns a capture request that was accepted

Public function Virtual

void

 

EndHoverCapture()

If a different hover capture begins, focus is lost, a tool starts, etc, any active hover visualization needs to terminate

Public function Virtual

void

 

ForceEndCapture

(
    const FInputCaptureData& CaptureDa...
)

If this is called, the Behavior has forcibly lost capture (eg due to app losing focus for example) and needs to clean up accordingly

Public function Virtual

FInputCaptur...

 

UpdateCapture

(
    const FInputDeviceState& InputStat...,
    const FInputCaptureData& CaptureDa...
)

Called for each new input event during a capture sequence.

Public function Virtual

FInputCaptur...

 

UpdateHoverCapture

(
    const FInputDeviceState& InputStat...
)

Called on each new hover input event, ie if no other behavior is actively capturing input

Public function Virtual

FInputCaptur...

 

WantsCapture

(
    const FInputDeviceState& InputStat...
)

Given the input state, does this Behavior want to begin capturing some input devices?

Public function Virtual

FInputCaptur...

 

WantsHoverCapture

(
    const FInputDeviceState& InputStat...
)

Given the input state, does this Behavior want to begin capturing some input devices for hover

Public function Virtual

bool

 

WantsHoverEvents()

Hover support (optional)return true if this Behavior supports hover (ie passive input events)

Enums

Name

Description

Protected enum

ESequenceState

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss