Files
UnrealEngineUWP/Engine/Source/Editor/AnimationEditMode/Public/AnimationEditMode.h
Ben Marsh fae32e5bd5 Fix Clang compile error due to missing symbols.
#preflight 62991fb989508c7d71afae3a

[CL 20476598 by Ben Marsh in ue5-main branch]
2022-06-02 18:05:51 -04:00

50 lines
1.5 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "EdMode.h"
#include "AnimationEditContext.h"
#include "AnimationEditMode.generated.h"
class FAnimationEditMode;
/**
* A compatibility context object to support IPersonaEditMode-based code. It simply calls into a different
* IAnimationEditContext in its implementations.
*/
UCLASS(MinimalAPI)
class UAnimationEditModeContext : public UObject, public IAnimationEditContext
{
GENERATED_BODY()
public:
virtual bool GetCameraTarget(FSphere& OutTarget) const override;
virtual class IPersonaPreviewScene& GetAnimPreviewScene() const override;
virtual void GetOnScreenDebugInfo(TArray<FText>& OutDebugInfo) const override;
private:
IAnimationEditContext* EditMode = nullptr;
static UAnimationEditModeContext* CreateFor(IAnimationEditContext* InEditMode)
{
UAnimationEditModeContext* NewPersonaContext = NewObject<UAnimationEditModeContext>();
NewPersonaContext->EditMode = InEditMode;
return NewPersonaContext;
}
friend FAnimationEditMode;
};
class ANIMATIONEDITMODE_API FAnimationEditMode : public FEdMode, public IAnimationEditContext
{
public:
FAnimationEditMode();
FAnimationEditMode(const FAnimationEditMode&) = delete;
FAnimationEditMode& operator=(const FAnimationEditMode&) = delete;
virtual void Enter() override;
virtual void Exit() override;
virtual void AddReferencedObjects(FReferenceCollector& Collector) override;
private:
TObjectPtr<UAnimationEditModeContext> AnimationEditModeContext;
};