Files
UnrealEngineUWP/Engine/Source/Editor/ComponentVisualizers/Public/Manipulator.h
ben marsh 2b46ba7b94 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

#ROBOMERGE-OWNER: ryan.gerleve
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 4662404 in //UE4/Main/...
#ROBOMERGE-BOT: ENGINE (Main -> Dev-Networking)

[CL 4662413 by ben marsh in Dev-Networking branch]
2018-12-14 13:44:01 -05:00

47 lines
1.5 KiB
C++

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "GameFramework/Actor.h"
#include "ViewportInteractableInterface.h"
#include "Manipulator.generated.h"
UCLASS()
class COMPONENTVISUALIZERS_API AManipulator : public AActor, public IViewportInteractableInterface
{
GENERATED_BODY()
public:
AManipulator();
// Begin AActor
virtual void PostEditMove(bool bFinished) override;
virtual bool IsEditorOnly() const final;
// End AActor
// Begin IViewportInteractableInterface
virtual void OnPressed(UViewportInteractor* Interactor, const FHitResult& InHitResult, bool& bOutResultedInDrag) override;
virtual void OnHover(UViewportInteractor* Interactor) override;
virtual void OnHoverEnter(UViewportInteractor* Interactor, const FHitResult& InHitResult) override;
virtual void OnHoverLeave(UViewportInteractor* Interactor, const UActorComponent* NewComponent) override;
virtual void OnDragRelease(UViewportInteractor* Interactor) override;
virtual bool CanBeSelected() override { return true; };
// End IViewportInteractableInterface
/** Set the component that should be moved when the manipulator was moved. */
void SetAssociatedComponent(USceneComponent* SceneComponent);
private:
/** The component to transform when this manipulator was moved. */
UPROPERTY()
USceneComponent* AssociatedComponent;
/** Visual representation of this manipulator. */
UPROPERTY()
class UStaticMeshComponent* StaticMeshComponent;
};