Navigation
BlueprintAPI > BlueprintAPI/ScriptableTool > BlueprintAPI/ScriptableTool/Input
MultiClickSequenceBehavior 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
Target is Scriptable Modular Behavior Tool
Inputs
| Type | Name | Description |
|---|---|---|
| exec | In | |
| object | Target | |
| delegate | On Begin Sequence Preview | Notify Target device position has changed but a click sequence hasn't begun yet (eg for interactive previews) |
| delegate | Can Begin Click Sequence | Test if target would like to begin sequence based on this click. Gets checked both on mouse down and mouse up. |
| delegate | On Begin Click Sequence | Notify Target about the first click in the sequence. |
| delegate | On Next Sequence Preview | Notify Target device position has changed but a click hasn't occurred yet (eg for interactive previews) |
| delegate | On Next Sequence Click | Notify Target about next click in sqeuence, returns false to terminate sequence |
| delegate | On Terminate Click Sequence | Notify Target that click sequence has been explicitly terminated (eg by escape key, cancel tool, etc). |
| delegate | Request Abort Click Sequence | Target overrides this and returns true if it wants to abort click sequence, checked every update |
| delegate | Capture Check | Only enable capture if returns true |
| delegate | Hover Capture Check | Only enable hover capture if returns true |
| integer | Capture Priority | The priority is used to resolve situations where multiple behaviors want the same capture |
| enum | Mouse Button | Determines which mouse button the behavior captures on |
Outputs
| Type | Name | Description |
|---|---|---|
| exec | Out |