/Engine/Source/Runtime/InteractiveToolsFramework/Public/InteractiveToolsContext.h
InteractiveToolsContext owns the core parts of an Interactive Tools Framework implementation - the InputRouter, ToolManager, GizmoManager, TargetManager, and ContextStore. In the simplest use case,UInteractiveToolsContextis just a top-level container that will keep the various UObjects alive, and provide an easy way to access them. However in a more complex situation it may be desirable to subclass and extend the ToolsContext. For example,UEdModeInteractiveToolsContextallows a ToolsContext to live within aUEdMode.
class UInteractiveToolsContext : public [UObject](API\Runtime\CoreUObject\UObject\UObject)
TObjectPtr<UCo...
ContextObjectStore
Current Context Object Store for this Context.
TUniqueFunction...
CreateContextStoreFunc
TUniqueFunction...
CreateGizmoManagerFunc
TUniqueFunction...
CreateInputRouterFunc
Initialize()calls these functions to create the main child objects needed to operate the Tools Framework - InputRouter, ToolManager, GizmoManager, TargetManager, ContextStore.
TUniqueFunction...
CreateToolManagerFunc
TUniqueFunction...
CreateToolTargetManagerFunc
TObjectPtr<UIn...
GizmoManager
CurrentUInteractiveGizmoManagerfor this Context
TObjectPtr<UIn...
InputRouter
CurrentUInputRouterfor this Context
FToolsContextTo...
OnToolNotificationMessage
FToolsContextTo...
OnToolWarningMessage
TUniqueFunction...
ShutdownContextStoreFunc
TUniqueFunction...
ShutdownGizmoManagerFunc
TUniqueFunction...
ShutdownInputRouterFunc
Analogous to the CreateX() functions above, these function are called byShutdown()to terminate and clean up after the various elements.
TUniqueFunction...
ShutdownToolManagerFunc
TUniqueFunction...
ShutdownToolTargetManagerFunc
TObjectPtr<UTo...
TargetManager
CurrentUToolTargetManagerfor this Context
TObjectPtr<UIn...
ToolManager
CurrentUInteractiveToolManagerfor this Context
TSoftClassPtr< ...
ToolManagerClass
Todo: deprecate and remove this, can now be accomplished viaCreateToolManagerFunc()