35 lines
944 B
C++
35 lines
944 B
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "UObject/Interface.h"
|
|
#include "InteractiveGizmo.h"
|
|
#include "InteractiveGizmoBuilder.generated.h"
|
|
|
|
|
|
|
|
/**
|
|
* A UInteractiveGizmoBuilder creates a new instance of an InteractiveGizmo (basically this is a Factory).
|
|
* These are registered with the InteractiveGizmoManager, which calls BuildGizmo().
|
|
* This is an abstract base class, you must subclass it in order to create your particular Gizmo instance
|
|
*/
|
|
UCLASS(Transient, Abstract, MinimalAPI)
|
|
class UInteractiveGizmoBuilder : public UObject
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
|
|
/**
|
|
* Create a new instance of this builder's Gizmo
|
|
* @param SceneState the current scene selection state, etc
|
|
* @return a new instance of the Gizmo, or nullptr on error/failure
|
|
*/
|
|
virtual UInteractiveGizmo* BuildGizmo(const FToolBuilderState& SceneState) const
|
|
{
|
|
unimplemented();
|
|
return nullptr;
|
|
}
|
|
};
|