Files
UnrealEngineUWP/Engine/Source/Editor/SkeletonEditor/Private/SkeletonTreeManager.h
ryan durand 627baf970a Updating copyright for Engine Editor.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870586 by ryan durand in Main branch]
2019-12-26 15:33:43 -05:00

37 lines
1.0 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
class ISkeletonTree;
class FEditableSkeleton;
class IEditableSkeleton;
class USkeleton;
struct FSkeletonTreeArgs;
/** Central registry of skeleton trees */
class FSkeletonTreeManager
{
public:
/** Singleton access */
static FSkeletonTreeManager& Get();
/** Create a skeleton tree for the given an already-existing editable skeleton */
TSharedRef<ISkeletonTree> CreateSkeletonTree(const TSharedRef<IEditableSkeleton>& InEditableSkeleton, const FSkeletonTreeArgs& InSkeletonTreeArgs);
/** Create a skeleton tree for the requested skeleton */
TSharedRef<ISkeletonTree> CreateSkeletonTree(USkeleton* InSkeleton, const FSkeletonTreeArgs& InSkeletonTreeArgs);
/** Edit a USkeleton via FEditableSkeleton */
TSharedRef<FEditableSkeleton> CreateEditableSkeleton(USkeleton* InSkeleton);
private:
/** Hidden constructor */
FSkeletonTreeManager() {}
private:
/** Map from skeletons to editable skeletons */
TMap<USkeleton*, TWeakPtr<FEditableSkeleton>> EditableSkeletons;
};