#pragma once #include "CoreMinimal.h" #include "Components/PrimitiveComponent.h" #include "CarveOptionsCellSize.h" #include "ECarveFilterType.h" #include "LevelGenerationCarverComponent.generated.h" class USTLMeshCarver; class UStaticMesh; class UStaticMeshCarver; class UTerrainMaterialBase; UCLASS(Blueprintable, ClassGroup=Custom, meta=(BlueprintSpawnableComponent)) class ULevelGenerationCarverComponent : public UPrimitiveComponent { GENERATED_BODY() public: UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) USTLMeshCarver* MeshCarver; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UStaticMesh* ConvexCarver; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UStaticMeshCarver* StaticMeshCarver; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UTerrainMaterialBase* TerrainMaterial; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) ECarveFilterType Filter; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) float ConvexExpensiveNoise; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) CarveOptionsCellSize CarveCellSize; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) bool PreviewEnabled; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) bool CarvingDisabled; protected: UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) bool SelfActivate; public: ULevelGenerationCarverComponent(); };