#pragma once #include "CoreMinimal.h" #include "Components/StaticMeshComponent.h" #include "ECarveFilterType.h" #include "CarveDoneDelegateDelegate.h" #include "AutoCarverComponent.generated.h" class UTerrainMaterialBase; UCLASS(Blueprintable, EditInlineNew, ClassGroup=Custom, meta=(BlueprintSpawnableComponent)) class UAutoCarverComponent : public UStaticMeshComponent { GENERATED_BODY() public: UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) UTerrainMaterialBase* TerrainMaterial; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) float Frequency; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) float ExpensiveNoise; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) float MinDistanceMoved; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) ECarveFilterType Filter; UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) FCarveDoneDelegate OnCarveDoneEvent; UAutoCarverComponent(); UFUNCTION(BlueprintCallable) void ForceCarve(); };