2019-12-26 14:45:42 -05:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
2019-09-10 11:35:20 -04:00
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "CoreMinimal.h"
|
2019-10-31 17:12:21 -04:00
|
|
|
#include "UObject/Interface.h"
|
2019-09-10 11:35:20 -04:00
|
|
|
#include "GameFramework/Actor.h"
|
|
|
|
|
#include "InteractiveToolObjects.generated.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* AInternalToolFrameworkActor is a base class for internal Actors that the
|
|
|
|
|
* ToolsFramework may spawn (for gizmos, mesh previews, etc). These Actors
|
|
|
|
|
* may need special-case handling, for example to prevent the user from
|
|
|
|
|
* selecting and deleting them.
|
|
|
|
|
*/
|
|
|
|
|
UCLASS(Transient)
|
|
|
|
|
class INTERACTIVETOOLSFRAMEWORK_API AInternalToolFrameworkActor : public AActor
|
|
|
|
|
{
|
|
|
|
|
GENERATED_BODY()
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
2021-02-04 19:55:42 -04:00
|
|
|
/** Controls whether this InternalToolFrameworkActor can be selected in the Editor. */
|
|
|
|
|
UPROPERTY()
|
|
|
|
|
bool bIsSelectableInEditor = false;
|
|
|
|
|
|
|
|
|
|
#if WITH_EDITOR
|
|
|
|
|
virtual bool IsSelectable() const override
|
|
|
|
|
{
|
|
|
|
|
return bIsSelectableInEditor;
|
|
|
|
|
}
|
|
|
|
|
#endif
|
2019-09-10 11:35:20 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
2019-10-31 17:12:21 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// UInterface for IToolFrameworkComponent
|
|
|
|
|
UINTERFACE(MinimalAPI)
|
|
|
|
|
class UToolFrameworkComponent : public UInterface
|
|
|
|
|
{
|
|
|
|
|
GENERATED_BODY()
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// IToolFrameworkComponent is an interface we can attach to custom Components used in the Tools framework.
|
|
|
|
|
// Currently this interface is only used to identify such Components (to prevent certain Actors from being deleted)
|
|
|
|
|
class IToolFrameworkComponent
|
|
|
|
|
{
|
|
|
|
|
GENERATED_BODY()
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
};
|
|
|
|
|
|