8#include "CoreMinimal.h"
9#include "Kismet/BlueprintFunctionLibrary.h"
10#include "Math/UnrealMathUtility.h"
11#include "GameFramework/Actor.h"
27#include "AssetLibrary.generated.h"
39 UPROPERTY(VisibleAnywhere, BlueprintReadOnly)
45 UPROPERTY(VisibleAnywhere, BlueprintReadOnly)
63 UFUNCTION(BlueprintCallable, Category =
"Asset Library")
65 FString ActorName =
"", FString ActorID =
"",
66 bool RandomZRotation =
true,
bool SnapToGround =
true);
72 UFUNCTION(BlueprintCallable, Category =
"Asset Library")
74 const FString& ActorName,
const FString& ActorID,
75 bool SnapAboveGround =
false,
float AboveOffset = 150.0f,
76 bool DestroyOverlappingActors =
false);
82 UFUNCTION(BlueprintCallable, Category =
"Asset Library")
84 FString ActorName =
"", FString ActorID =
"",
85 bool RandomZRotation =
false,
bool SnapToGround =
false);
91 UFUNCTION(BlueprintCallable, Category =
"Asset Library")
93 const FString& ActorID =
"",
bool StartAutomatically =
true);
100 UFUNCTION(BlueprintCallable, Category =
"Asset Library")
106 UFUNCTION(BlueprintCallable, Category =
"Asset Library")
113 UFUNCTION(BlueprintCallable, Category =
"Asset Library")
114 static TArray<AInstancedActor*> GetAllAddedPropActors();
119 UFUNCTION(BlueprintCallable, Category =
"Asset Library")
125 UFUNCTION(BlueprintCallable, Category =
"Asset Library")
132 UFUNCTION(BlueprintCallable, Category =
"Asset Library")
133 static TArray<AInstancedActor*> GetAllAddedFoliageActors();
138 UFUNCTION(BlueprintCallable, Category =
"Asset Library")
139 static TArray<FVehicleData> GetSpawnedVehicles();
144 UFUNCTION(BlueprintCallable, Category =
"Asset Library")
145 static void DestroyAllWalkers();
150 UFUNCTION(BlueprintCallable, Category =
"Asset Library")
151 static TArray<AWalker*> GetAllWalkers();
157 UFUNCTION(BlueprintCallable, Category =
"Asset Library")
162 static AActor* TrySpawnActor(TSubclassOf<AActor> ActorClass, FTransform&
Transform,
163 FString ActorName, FString ActorID,
164 bool SnapToGround,
bool RandomZRotation,
165 ESpawnActorCollisionHandlingMethod CollisionMethod = ESpawnActorCollisionHandlingMethod::Undefined);
167 static void DestroyOverlappingActorsSphere(AActor* SpawnedActor);
169 static void SetupVehicleDataAsset();
173 static void SetupFoliageDataAsset();
179 static void SetupPropDataAsset();
185 static void SetupWalkerDataAsset();
static TWeakObjectPtr< UFoliageActorAssetMapDataAsset > FoliageActorAssetMapDataAsset
static TArray< FInstancedActorData > SpawnedPropActors
static TMap< EFoliageTypes, FString > FoliageTypeMap
static TWeakObjectPtr< UVehicleActorAssetMapDataAsset > VehicleDataAsset
static TArray< TWeakObjectPtr< AWalker > > SpanwedWalkers
static TArray< EPropTypes > PropKeys
static TArray< EFoliageTypes > FoliageKeys
static TMap< EPropTypes, FString > PropTypeMap
static TWeakObjectPtr< UPropActorAssetMapDataAsset > PropActorAssetMapDataAsset
static TWeakObjectPtr< UWalkerActorAssetMapDataAsset > WalkerActorAssetMapDataAsset
static TArray< FVehicleData > SpawnedVehicles
static TArray< FInstancedActorData > AddedFoliageActors