DRG-Femboy-Voice/Source/FSD/Public/SpawnActorWithDebrisPosComponent.h
2025-04-15 12:39:31 -07:00

43 lines
1.9 KiB
C++
Executable file

#pragma once
#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
#include "Components/ActorComponent.h"
#include "SpawnActorDelegateDelegate.h"
#include "Templates/SubclassOf.h"
#include "SpawnActorWithDebrisPosComponent.generated.h"
class AActor;
class AProceduralSetup;
class UCurveFloat;
class UDebrisPositioning;
UCLASS(Blueprintable, ClassGroup=Custom, meta=(BlueprintSpawnableComponent))
class FSD_API USpawnActorWithDebrisPosComponent : public UActorComponent {
GENERATED_BODY()
public:
protected:
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float MinDistanceBetweenSpwans;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
bool AddTerrainPlacementBlockers;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
bool AvoidImportantLocations;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float MinDistanceToImportantLocations;
public:
USpawnActorWithDebrisPosComponent();
UFUNCTION(BlueprintCallable)
bool PlaceActorsWithCallback(int32 NumToSpawn, int32 NumToSpawnMin, int32 NumAllowedChecks, TSubclassOf<AActor> SpawnedActorClass, AProceduralSetup* Setup, float Radius, UDebrisPositioning* DebrisPositioning, const TArray<FVector>& locationsToAvoid, UCurveFloat* AvoidCostCurve, FSpawnActorDelegate OnSpawned, FVector CustomLocation);
UFUNCTION(BlueprintCallable)
bool PlaceActors(int32 NumToSpawn, int32 NumToSpawnMin, int32 NumAllowedChecks, TSubclassOf<AActor> SpawnedActorClass, AProceduralSetup* Setup, float Radius, UDebrisPositioning* DebrisPositioning, const TArray<FVector>& locationsToAvoid, UCurveFloat* AvoidCostCurve, TArray<AActor*>& OutSpawnedActors, FVector CustomLocation);
UFUNCTION(BlueprintCallable)
void AddTerrainPlacement(AActor* Actor, AProceduralSetup* Setup);
};