Navigation
API > API/Plugins > API/Plugins/ScriptableToolsFramework > API/Plugins/ScriptableToolsFramework/BaseTools > API/Plugins/ScriptableToolsFramework/BaseTools/UScriptableModularBehaviorTool
References
| Module | ScriptableToolsFramework |
| Header | /Engine/Plugins/Runtime/ScriptableToolsFramework/Source/ScriptableToolsFramework/Public/BaseTools/ScriptableModularBehaviorTool.h |
| Include | #include "BaseTools/ScriptableModularBehaviorTool.h" |
| Source | /Engine/Plugins/Runtime/ScriptableToolsFramework/Source/ScriptableToolsFramework/Private/BaseTools/ScriptableModularBehaviorTool.cpp |
UFUNCTION (BlueprintCallable, Category="ScriptableTool|Input",
Meta=(AdvancedDisplay="CaptureCheck, CapturePriority, MouseButton, bUpdateModifiersDuringDrag"))
void AddClickDragBehavior
(
const FTestCanBeginClickDragSequenceDelegate CanBeginClickDragSequence,
const FOnClickPressDelegate OnClickPress,
const FOnClickDragDelegate OnClickDrag,
const FOnClickReleaseDelegate OnClickRelease,
const FOnTerminateDragSequenceDelegate OnTerminateDragSequence,
const FMouseBehaviorModiferCheckDelegate CaptureCheck,
int CapturePriority,
EScriptableToolMouseButton MouseButton,
bool bUpdateModifiersDuringDrag
)
Remarks
Implements a standard "button-click-drag"-style input behavior.
The state machine works as follows: 1) on input-device-button-press, call CanBeginClickDragSequence to determine if capture should begin 2) on input-device-move, call OnClickDrag 3) on input-device-button-release, call OnClickRelease
If a ForceEndCapture occurs we call OnTerminateDragSequence
Parameters
| Name | Description |
|---|---|
| CanBeginClickDragSequence | Test if target can begin click-drag interaction at this point |
| OnClickPress | Notify Target that click press occurred |
| OnClickDrag | Notify Target that input position has changed |
| OnClickRelease | Notify Target that click release occurred |
| OnTerminateDragSequence | Notify Target that click-drag sequence has been explicitly terminated (eg by escape key) |
| CaptureCheck | Only enable capture if returns true |
| CapturePriority | The priority is used to resolve situations where multiple behaviors want the same capture |
| MouseButton | Determines which mouse button the behavior captures on |