Navigation
API > API/Plugins > API/Plugins/ScriptableToolsFramework > API/Plugins/ScriptableToolsFramework/BaseTools
Inheritance Hierarchy
- UObject
- IInputBehaviorSource
- UInteractiveTool
- UScriptableInteractiveTool
- UScriptableClickDragTool
- UEditorScriptableClickDragTool
References
| Module | ScriptableToolsFramework |
| Header | /Engine/Plugins/Runtime/ScriptableToolsFramework/Source/ScriptableToolsFramework/Public/BaseTools/ScriptableClickDragTool.h |
| Include | #include "BaseTools/ScriptableClickDragTool.h" |
Syntax
UCLASS ()
class UScriptableClickDragTool :
public UScriptableInteractiveTool ,
public IClickDragBehaviorTarget ,
public IHoverBehaviorTarget
Remarks
UScriptableClickDragTool is an extension of UScriptableInteractiveTool that supports a "click-drag" interaction, ie capture the input device on press-down and collect any device movement events until release. Hover is also supported.
Note: Currently these interactions are only supported for mouse devices, or devices remapped to be a mouse by the UInputRouter. Also currently only the left-mouse-button is supported.
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bAltModifier | ||
| bool | bCtrlModifier | ||
| bool | bInClickDrag | ||
| bool | bInHover | ||
| bool | bShiftModifier | ||
| bool | bUpdateModifiersDuringDrag | Allow Modifiers states to be updated during ClickDrag sequence. | |
| bool | bWantMouseHover | Enable Hover support API functions OnHoverHitTest / OnHoverBegin / OnHoverUpdate / OnHoverEnd for Mouse devices. | |
| TObjectPtr< UClickDragInputBehavior > | ClickDragBehavior | ||
| const FScriptableToolModifierStates & | Modifiers | ||
| TObjectPtr< UMouseHoverBehavior > | MouseHoverBehavior |
Functions
Overridden from UInteractiveTool
| Type | Name | Description | |
|---|---|---|---|
| void | Setup () |
Called by ToolManager to initialize the Tool after ToolBuilder::BuildTool() has been called |
Overridden from IClickDragBehaviorTarget
| Type | Name | Description | |
|---|---|---|---|
| FInputRayHit | CanBeginClickDragSequence
(
const FInputDeviceRay& PressPos |
IClickDragBehaviorTarget API. | |
| void | OnClickDrag
(
const FInputDeviceRay& DragPos |
Notify Target that input position has changed | |
| void | OnClickPress
(
const FInputDeviceRay& PressPos |
Notify Target that click press ocurred | |
| void | OnClickRelease
(
const FInputDeviceRay& ReleasePos |
Notify Target that click release occurred | |
| void | Notify Target that click-drag sequence has been explicitly terminated (eg by escape key) |
Overridden from IModifierToggleBehaviorTarget
| Type | Name | Description | |
|---|---|---|---|
| void | OnUpdateModifierState
(
int ModifierID, |
Notify target of current modifier state |
Overridden from IHoverBehaviorTarget
| Type | Name | Description | |
|---|---|---|---|
| FInputRayHit | BeginHoverSequenceHitTest
(
const FInputDeviceRay& PressPos |
IHoverBehaviorTarget API. | |
| void | OnBeginHover
(
const FInputDeviceRay& DevicePos |
Initialize hover sequence at given position | |
| void | OnEndHover () |
Terminate active hover sequence | |
| bool | OnUpdateHover
(
const FInputDeviceRay& DevicePos |
Update active hover sequence with new input position |