Files
UnrealEngineUWP/Engine/Source/Editor/AnimGraph/Private/EditModes/ModifyBoneEditMode.h
michael daum 7c6d7b3ab2 Drastically reduce the number of targets depending on UnrealWidget.h
#rb lauren.barnes

[CL 14266936 by michael daum in ue5-main branch]
2020-09-07 20:36:09 -04:00

42 lines
1.6 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UnrealWidgetFwd.h"
#include "AnimNodeEditMode.h"
#include "BoneControllers/AnimNode_ModifyBone.h"
class FModifyBoneEditMode : public FAnimNodeEditMode
{
public:
FModifyBoneEditMode();
/** IAnimNodeEditMode interface */
virtual void EnterMode(class UAnimGraphNode_Base* InEditorNode, struct FAnimNode_Base* InRuntimeNode) override;
virtual void ExitMode() override;
virtual ECoordSystem GetWidgetCoordinateSystem() const override;
virtual FVector GetWidgetLocation() const override;
virtual UE::Widget::EWidgetMode GetWidgetMode() const override;
virtual UE::Widget::EWidgetMode ChangeToNextWidgetMode(UE::Widget::EWidgetMode InCurWidgetMode) override;
virtual bool SetWidgetMode(UE::Widget::EWidgetMode InWidgetMode) override;
virtual FName GetSelectedBone() const override;
virtual void DoTranslation(FVector& InTranslation) override;
virtual void DoRotation(FRotator& InRotation) override;
virtual void DoScale(FVector& InScale) override;
virtual bool ShouldDrawWidget() const override;
private:
// methods to find a valid widget mode for gizmo because doesn't need to show gizmo when the mode is "Ignore"
UE::Widget::EWidgetMode FindValidWidgetMode(UE::Widget::EWidgetMode InWidgetMode) const;
EBoneModificationMode GetBoneModificationMode(UE::Widget::EWidgetMode InWidgetMode) const;
UE::Widget::EWidgetMode GetNextWidgetMode(UE::Widget::EWidgetMode InWidgetMode) const;
private:
struct FAnimNode_ModifyBone* RuntimeNode;
class UAnimGraphNode_ModifyBone* GraphNode;
// storing current widget mode
mutable UE::Widget::EWidgetMode CurWidgetMode;
};