EM_Task/UnrealEd/Classes/Builders/SheetBuilder.h

57 lines
1.6 KiB
C
Raw Permalink Normal View History

2026-02-13 16:18:33 +08:00
// Copyright Epic Games, Inc. All Rights Reserved.
//~=============================================================================
// SheetBuilder: Builds a simple sheet.
//~=============================================================================
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "UObject/UObjectGlobals.h"
#include "Builders/EditorBrushBuilder.h"
#include "SheetBuilder.generated.h"
class ABrush;
UENUM()
enum ESheetAxis
{
AX_Horizontal,
AX_XAxis,
AX_YAxis,
AX_MAX,
};
UCLASS(MinimalAPI, autoexpandcategories = BrushSettings, EditInlineNew, NotPlaceable, meta = (DisplayName = "Plane"))
class USheetBuilder: public UEditorBrushBuilder
{
public:
GENERATED_BODY()
public:
USheetBuilder(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get());
UPROPERTY(EditAnywhere, Category = BrushSettings, meta = (ClampMin = "1"))
int32 X;
UPROPERTY(EditAnywhere, Category = BrushSettings, meta = (ClampMin = "1"))
int32 Y;
UPROPERTY(EditAnywhere, Category = BrushSettings, meta = (ClampMin = "1", ClampMax = "100", UIMin = "1", UIMax = "20"))
int32 XSegments;
UPROPERTY(EditAnywhere, Category = BrushSettings, meta = (ClampMin = "1", ClampMax = "100", UIMin = "1", UIMax = "20"))
int32 YSegments;
UPROPERTY(EditAnywhere, Category = BrushSettings)
TEnumAsByte<enum ESheetAxis> Axis;
UPROPERTY()
FName GroupName;
//~ Begin UBrushBuilder Interface
virtual bool Build(UWorld* InWorld, ABrush* InBrush = NULL) override;
//~ End UBrushBuilder Interface
};