| UObjectBase
|
Module |
|
Header |
/Engine/Source/Runtime/Experimental/InteractiveToolsFramework/Public/InteractiveToolManager.h |
Include |
#include "InteractiveToolManager.h" |
class UInteractiveToolManager :
public UObject,
public IToolContextTransactionProvider
UInteractiveToolManager allows users of the tools framework to create and operate Tool instances. For each Tool, a (string,ToolBuilder) pair is registered with the ToolManager. Tools can then be activated via the string identifier.
Currently a single Tool can be active for each input device. So for mouse input a single Tool is available and effectively a lightweight mode. The mouse uses the "Left" tool slot.
For VR controllers and touch input, a "Left" and "Right" tool can be active at the same time.
Tools are not directly created. Use SelectActiveToolType(side,string) to set the active ToolBuilder on a given side, and then use ActivateTool() to create the new Tool instance.
Name | Description | ||
---|---|---|---|
|
ActiveLeftBuilder |
||
|
ActiveLeftBuilderName |
Currently-active Left ToolBuilder |
|
|
ActiveLeftTool |
Currently-active Left Tool, or null if no Tool is active |
|
|
ActiveLeftToolName |
||
|
ActiveRightBuilder |
||
|
ActiveRightBuilderName |
Currently-active Right ToolBuilder |
|
|
ActiveRightTool |
Currently-active Right Tool, or null if no Tool is active |
|
|
ActiveRightToolName |
||
|
ActiveToolChangeTrackingMode |
||
|
bIsActive |
This flag is set to true on Initialize() and false on Shutdown(). |
|
|
UInputRouter &#... |
InputRouter |
Pointer to current InputRouter (Context owns this) |
|
OnToolEnded |
||
|
OnToolStarted |
||
|
QueriesAPI |
Pointer to current Context-Queries implementation |
|
|
ToolBuilders |
Current set of named ToolBuilders |
|
|
TransactionsAPI |
Pointer to current Transactions implementation |
Name | Description | |
---|---|---|
|
UInteractiveToolManager() |
Name | Description | ||
---|---|---|---|
|
ActivateTool ( |
Try to activate a new Tool instance on the given Side |
|
|
ActivateToolInternal ( |
||
|
CanAcceptActiveTool ( |
Check if an active Tool on the given Side can be Accepted in its current state |
|
|
CanActivateTool |
Check if a named Tool type can currently be activated on the given ToolSide |
|
|
CanCancelActiveTool ( |
Check if an active Tool on the given Side can be Canceled |
|
|
ConfigureChangeTrackingMode ( |
Configure how tool changes emit change events. See EToolChangeTrackingMode for details. |
|
|
DeactivateTool ( |
Shut down an active Tool on the given side |
|
|
DeactivateToolInternal ( |
||
|
DisplayMessage ( |
Functions that Tools can call to interact with Transactions APIPost a message via the Transactions API |
|
|
DrawHUD ( |
Let active Tools do their screen space drawing. |
|
|
UInteractive... |
GetActiveTool ( |
Get pointer to active Tool on a given side |
|
UInteractive... |
GetActiveToolBuilder ( |
Get pointer to active Tool Builder on a given side |
|
GetActiveToolName ( |
Get name of registered ToolBuilder that created active tool for given side, or empty string if no tool is active |
|
|
IToolsContex... |
GetContextQueriesAPI() |
Access to APIs, etc |
|
UInteractive... |
GetPairedGizmoManager() |
|
|
HasActiveTool ( |
Check if there is an active Tool on the given Side |
|
|
HasAnyActiveTool() |
||
|
Initialize ( |
Initialize the ToolManager with the necessary Context-level state. |
|
|
IsActive() |
||
|
PostInvalidation() |
Request an Invalidation via the Transactions API (ie to cause a repaint, etc) |
|
|
RegisterToolType ( |
Tool registration and Current Tool state Register a new ToolBuilder |
|
|
Render ( |
Render any active Tools. |
|
|
RequestSelectionChange ( |
Forward an FChange object to the Context |
|
|
SelectActiveToolType |
Set active ToolBuilder for a ToolSide via string identifier |
|
|
Shutdown() |
Shutdown the ToolManager. |
|
|
Tick ( |
State control (Tick any active Tools. Called by UInteractiveToolsContext |
Name | Description | ||
---|---|---|---|
|
BeginUndoTransaction ( |
Request that the Context open a Transaction, whatever that means to the current Context |
|
|
EmitObjectChange ( |
Forward an FChange object to the Context |
|
|
EndUndoTransaction() |
Request that the Context close and commit the open Transaction |
Name |
Description |
---|---|
FToolManagerToolEndedSignature |
|
FToolManagerToolStartedSignature |