Files
UnrealEngineUWP/Engine/Plugins/Experimental/MeshModelingToolset/Source/MeshModelingTools/Public/TransferMeshTool.h

61 lines
1.4 KiB
C
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "MultiSelectionTool.h"
#include "InteractiveToolBuilder.h"
#include "TransferMeshTool.generated.h"
/**
*
*/
UCLASS()
class MESHMODELINGTOOLS_API UTransferMeshToolBuilder : public UInteractiveToolBuilder
{
GENERATED_BODY()
public:
virtual bool CanBuildTool(const FToolBuilderState& SceneState) const override;
virtual UInteractiveTool* BuildTool(const FToolBuilderState& SceneState) const override;
protected:
virtual const FToolTargetTypeRequirements& GetTargetRequirements() const override;
};
/**
* Standard properties of the Transfer operation
*/
UCLASS()
class MESHMODELINGTOOLS_API UTransferMeshToolProperties : public UInteractiveToolPropertySet
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, Category = Options)
bool bTransferMaterials = true;
};
UCLASS()
class MESHMODELINGTOOLS_API UTransferMeshTool : public UMultiSelectionTool
{
GENERATED_BODY()
public:
virtual void SetWorld(UWorld* World);
virtual void Setup() override;
virtual void Shutdown(EToolShutdownType ShutdownType) override;
virtual bool HasCancel() const override { return true; }
virtual bool HasAccept() const override { return true; }
virtual bool CanAccept() const override;
UPROPERTY()
UTransferMeshToolProperties* BasicProperties;
protected:
UWorld* TargetWorld;
};