Navigation
API > API/Plugins > API/Plugins/ScriptableToolsFramework
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UInteractiveTool
- UScriptableInteractiveTool
- UEditorScriptableInteractiveTool
- UScriptableClickDragTool
- UEditorScriptableClickDragTool
- UScriptableSingleClickTool
- UEditorScriptableSingleClickTool
References
| Module | ScriptableToolsFramework |
| Header | /Engine/Plugins/Experimental/ScriptableToolsFramework/Source/ScriptableToolsFramework/Public/ScriptableInteractiveTool.h |
| Include | #include "ScriptableInteractiveTool.h" |
Syntax
UCLASS&40;Transient, Blueprintable&41;
class UScriptableInteractiveTool : public UInteractiveTool
Remarks
UScriptableInteractiveTool is an extension of UInteractiveTool that allows the Tool functionality to be defined via Blueprints.
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bShowToolInEditor | A generic flag to indicate whether this Tool should be shown in the UE Editor. | |
| FString | CustomIconPath | Relative Path to a custom Icon Image for this Tool. | |
| TObjectPtr< UScriptableTool_HUDAPI > | DrawHUDHelper | ||
| TMap< FString, TObjectPtr< UCombinedTransformGizmo > > | Gizmos | Trying to avoid making a UStruct for this internal stuff | |
| TMap< FString, TWeakObjectPtr< UScriptableInteractiveToolPropertySet > > | NamedPropertySets | ||
| TObjectPtr< UScriptableTool_RenderAPI > | RenderHelper | ||
| TWeakObjectPtr< UWorld > | TargetWorld | ||
| FText | ToolCategory | Category of this Tool, will be used in (eg) Tool Palette Section headers | |
| FText | ToolLongName | Long Name of this Tool, will be used in (eg) longer labels like the Accept/Cancel toolbar | |
| FText | ToolName | Name of this Tool, will be used in (eg) Toolbars | |
| EScriptableToolShutdownType | ToolShutdownType | Specifies how the user exits this Tool, either Accept/Cancel-style or Complete-style | |
| FText | ToolTooltip | Tooltip used for this Tool in (eg) icons/etc | |
| TArray< FAnyPropertyWatchInfo > | WatchAnyPropertyInfo | ||
| TArray< FToolBoolPropertyModifiedDelegate > | WatchBoolPropertyDelegates | ||
| TArray< FToolEnumPropertyModifiedDelegate > | WatchEnumPropertyDelegates | ||
| TArray< FToolFloatPropertyModifiedDelegate > | WatchFloatPropertyDelegates | ||
| TArray< FToolFNamePropertyModifiedDelegate > | WatchFNamePropertyDelegates | ||
| TArray< FToolIntPropertyModifiedDelegate > | WatchIntPropertyDelegates | ||
| TArray< FToolObjectPropertyModifiedDelegate > | WatchObjectPropertyDelegates | ||
| TArray< FToolStringPropertyModifiedDelegate > | WatchStringPropertyDelegates |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddLogMessage
(
FText Message, |
Append a Message to the UE Editor Log. | |
| UScriptableInteractiveToolPropertySet * | AddPropertySetOfType
(
TSubclassOf< UScriptableInteractiveToolPropertySet > PropertySetType, |
Property Set support Create a new Tool Property Set (ie BP subclass of UScriptableInteractiveToolPropertySet) with the given string Identifier and attach it to the Tool. | |
| void | ClearUserMessages
(
bool bHelpMessage, |
Clear any active message shown via DisplayUserHelpMessage and/or DisplayUserWarningMessage | |
| void | CreateTRSGizmo
(
FString Identifier, |
Gizmo API | |
| void | DestroyTRSGizmo
(
FString Identifier, |
Destroy a created Gizmo by name Identifier | |
| void | DisplayUserHelpMessage
(
FText Message |
Display a short Help message for the user, ie to guide them in Tool usage. | |
| void | DisplayUserWarningMessage
(
FText Message |
Display a Warning message to the user, ie to indicate a problem/issue occurred. | |
| void | ForcePropertySetUpdateByName
(
FString Identifier |
Force the Property Set associated with the given Identifier to be updated. | |
| FTransform | GetGizmoTransform
(
FString Identifier |
Get the current Transform on the Gizmo specified by the name Identifier | |
| UBaseScriptableToolBuilder * | GetNewCustomToolBuilderInstance
(
UObject* Outer |
Return instance of custom tool builder. Should only be called on CDO. | |
| UWorld * | GetToolWorld () |
Access the World this Tool is currently operating on. | |
| UWorld * | GetWorld () |
||
| void | OnGizmoTransformChanged
(
const FString& GizmoIdentifier, |
The OnGizmoTransformChanged event fires whenever the transform on any Gizmo created by CreateTRSGizmo() is modified. | |
| void | OnGizmoTransformChanged_Handler
(
FString GizmoIdentifier, |
||
| void | OnGizmoTransformStateChange
(
const FString& GizmoIdentifier, |
The OnGizmoTransformStateChange event fires whenever the user start/ends a Gizmo transform, or when an Undo/Redo event occurs. | |
| void | OnGizmoTransformStateChange_Handler
(
FString GizmoIdentifier, |
||
| bool | CanAccept function. | ||
| bool | |||
| void | OnScriptDrawHUD
(
UScriptableTool_HUDAPI* DrawHUDAPI |
OnScriptDrawHUD is called every frame. | |
| void | OnScriptRender
(
UScriptableTool_RenderAPI* RenderAPI |
OnScriptRender is called every frame. | |
| void | Implement OnScriptSetup to do initial setup/configuration of the Tool, such as adding Property Sets, creating Gizmos, etc | ||
| void | OnScriptShutdown
(
EToolShutdownType ShutdownType |
OnScriptShutdown is called when the Tool is shutting down. | |
| void | OnScriptTick
(
float DeltaTime |
OnScriptTick is called every Editor Tick, ie basically every frame. | |
| void | RemovePropertySetByName
(
FString Identifier, |
Remove a Property Set from the current Tool, found via it's unique Identifier. | |
| void | RequestToolShutdown
(
bool bAccept, |
Request that the active Tool be shut down. | |
| UScriptableInteractiveToolPropertySet * | RestorePropertySetSettings
(
UScriptableInteractiveToolPropertySet* PropertySet, |
Restore the values of the specified PropertySet, optionally with a specific SaveKey string. | |
| UScriptableInteractiveToolPropertySet * | SavePropertySetSettings
(
UScriptableInteractiveToolPropertySet* PropertySet, |
Save the values of the specified PropertySet, optionally with a specific SaveKey string. | |
| void | SetGizmoTransform
(
FString Identifier, |
Update the Transform on the Gizmo specified by the name Identifier | |
| void | SetGizmoVisible
(
FString Identifier, |
Set an existing Gizmo visible/hidden based on its name Identifier | |
| void | SetPropertySetVisibleByName
(
FString Identifier, |
Set the visibility of a Property Set that is paired with the given unique Identifier. | |
| void | SetTargetWorld
(
UWorld* World |
||
| UScriptableInteractiveToolPropertySet * | WatchBoolProperty
(
UScriptableInteractiveToolPropertySet* PropertySet, |
Watch a Bool-valued Property for changes | |
| UScriptableInteractiveToolPropertySet * | WatchEnumProperty
(
UScriptableInteractiveToolPropertySet* PropertySet, |
Watch an Enum-valued Property for changes. | |
| UScriptableInteractiveToolPropertySet * | WatchFloatProperty
(
UScriptableInteractiveToolPropertySet* PropertySet, |
Property Watcher support Watch a Float-valued Property for changes (double precision) | |
| UScriptableInteractiveToolPropertySet * | WatchIntProperty
(
UScriptableInteractiveToolPropertySet* PropertySet, |
Watch an Integer-valued Property for changes | |
| UScriptableInteractiveToolPropertySet * | WatchNameProperty
(
UScriptableInteractiveToolPropertySet* PropertySet, |
Watch an (F)Name-valued Property for changes | |
| UScriptableInteractiveToolPropertySet * | WatchObjectProperty
(
UScriptableInteractiveToolPropertySet* PropertySet, |
Watch an Object-valued Property for changes (ie UObject, UClass, etc) | |
| UScriptableInteractiveToolPropertySet * | WatchProperty
(
UScriptableInteractiveToolPropertySet* PropertySet, |
Watch any Property in a PropertySet for changes. | |
| UScriptableInteractiveToolPropertySet * | WatchStringProperty
(
UScriptableInteractiveToolPropertySet* PropertySet, |
Watch a String-valued Property for changes |
Overridden from UInteractiveTool
| Type | Name | Description | |
|---|---|---|---|
| bool | CanAccept () |
||
| void | DrawHUD
(
FCanvas* Canvas, |
Allow the Tool to do any custom screen space drawing | |
| bool | HasAccept () |
||
| bool | HasCancel () |
||
| void | OnTick
(
float DeltaTime |
Allow the Tool to do any necessary processing on Tick | |
| void | Render
(
IToolsContextRenderAPI* RenderAPI |
Render and DrawHUD support | |
| void | Setup () |
Called by ToolManager to initialize the Tool after ToolBuilder::BuildTool() has been called | |
| void | Shutdown
(
EToolShutdownType ShutdownType |
Called by ToolManager to shut down the Tool |
Overridden from UObject
| Type | Name | Description | |
|---|---|---|---|
| void | Called after the C++ constructor and after the properties have been initialized, including those loaded from config. |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FAnyPropertyWatchInfo |
Enums
| Type | Name | Description | |
|---|---|---|---|
| EAnyPropertyWatchTypes |