Files
UnrealEngineUWP/Engine/Source/Editor/LevelAssetEditor/Private/LevelEditorToolsContextInterfaces.h
semion piskarev bdf43a29db MeshModelingToolset: Added a way to store tool selections between tool invocations and used it in PolyEdit tool.
#rb Ryan.Schmidt
#jira UETOOL-2372
#rnx

[CL 14745200 by semion piskarev in ue5-main branch]
2020-11-13 14:07:30 -04:00

44 lines
1.8 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "ToolContextInterfaces.h"
class UInteractiveToolsContext;
class FEditorViewportClient;
class HHitProxy;
class UMaterialInterface;
class FText;
class FToolCommandChange;
class FLevelEditorToolsContextQueriesImpl : public IToolsContextQueriesAPI
{
public:
FLevelEditorToolsContextQueriesImpl(UInteractiveToolsContext* InContext);
virtual void GetCurrentSelectionState(FToolBuilderState& StateOut) const override;
virtual void GetCurrentViewState(FViewCameraState& StateOut) const override;
virtual EToolContextCoordinateSystem GetCurrentCoordinateSystem() const override;
virtual bool ExecuteSceneSnapQuery(const FSceneSnapQueryRequest& Request, TArray<FSceneSnapQueryResult>& Results) const override;
virtual UMaterialInterface* GetStandardMaterial(EStandardToolContextMaterials MaterialType) const override;
virtual HHitProxy* GetHitProxy(int32 X, int32 Y) const override;
protected:
UInteractiveToolsContext* ToolsContext;
FEditorViewportClient* ViewportClient;
UObject* EditingAsset;
};
class FLevelEditorContextTransactionImpl : public IToolsContextTransactionsAPI
{
public:
virtual void DisplayMessage(const FText& Message, EToolMessageLevel Level) override;
virtual void PostInvalidation() override;
virtual void BeginUndoTransaction(const FText& Description) override;
virtual void EndUndoTransaction() override;
virtual void AppendChange(UObject* TargetObject, TUniquePtr<FToolCommandChange> Change, const FText& Description) override;
virtual bool RequestSelectionChange(const FSelectedOjectsChangeList& SelectionChange) override;
virtual bool RequestToolSelectionStore(const UInteractiveToolStorableSelection* StorableSelection,
const FToolSelectionStoreParams& Params) override;
};