You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
42 lines
1.6 KiB
C++
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;
|
|
};
|