// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. #include "InteractiveToolsContext.h" UInteractiveToolsContext::UInteractiveToolsContext() { InputRouter = nullptr; ToolManager = nullptr; } void UInteractiveToolsContext::Initialize(IToolsContextQueriesAPI* QueriesAPI, IToolsContextTransactionsAPI* TransactionsAPI) { InputRouter = NewObject(this); InputRouter->Initialize(TransactionsAPI); ToolManager = NewObject(this); ToolManager->Initialize(QueriesAPI, TransactionsAPI, InputRouter); GizmoManager = NewObject(this); GizmoManager->Initialize(QueriesAPI, TransactionsAPI, InputRouter); } void UInteractiveToolsContext::Shutdown() { // force-terminate any remaining captures/hovers/etc InputRouter->ForceTerminateAll(); InputRouter->Shutdown(); InputRouter = nullptr; GizmoManager->Shutdown(); GizmoManager = nullptr; ToolManager->Shutdown(); ToolManager = nullptr; }