Files
UnrealEngineUWP/Engine/Source/Runtime/InteractiveToolsFramework/Private/BaseTools/ClickDragTool.cpp
Chris Gagnon 930e33cb48 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) for 4.23 From CL 6837861
#rb none

[CL 6838042 by Chris Gagnon in Main branch]
2019-06-04 15:42:48 -04:00

72 lines
1.5 KiB
C++

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#include "BaseTools/ClickDragTool.h"
#include "InteractiveToolManager.h"
#include "BaseBehaviors/ClickDragBehavior.h"
/*
* ToolBuilder
*/
bool UClickDragToolBuilder::CanBuildTool(const FToolBuilderState& SceneState) const
{
return true;
}
UInteractiveTool* UClickDragToolBuilder::BuildTool(const FToolBuilderState& SceneState) const
{
UClickDragTool* NewTool = NewObject<UClickDragTool>(SceneState.ToolManager);
return NewTool;
}
/*
* Tool
*/
void UClickDragTool::Setup()
{
UInteractiveTool::Setup();
// add default mouse input behavior
UClickDragInputBehavior* MouseBehavior = NewObject<UClickDragInputBehavior>();
MouseBehavior->Initialize(this);
AddInputBehavior(MouseBehavior);
}
bool UClickDragTool::CanBeginClickDragSequence(const FInputDeviceRay& ClickPos)
{
return true;
}
void UClickDragTool::OnClickPress(const FInputDeviceRay& ClickPos)
{
// print debug message
GetToolManager()->PostMessage(
FString::Printf( TEXT("UClickDragTool::OnClickPress at (%f,%f)"), ClickPos.ScreenPosition.X, ClickPos.ScreenPosition.Y),
EToolMessageLevel::Internal );
}
void UClickDragTool::OnClickDrag(const FInputDeviceRay& ClickPos)
{
}
void UClickDragTool::OnClickRelease(const FInputDeviceRay& ClickPos)
{
// print debug message
GetToolManager()->PostMessage(
FString::Printf(TEXT("UClickDragTool::OnClickRelease at (%f,%f)"), ClickPos.ScreenPosition.X, ClickPos.ScreenPosition.Y),
EToolMessageLevel::Internal);
}
void UClickDragTool::OnTerminateDragSequence()
{
}