10#include "Commandlets/Commandlet.h"
11#include "Runtime/Engine/Classes/Engine/ObjectLibrary.h"
12#include "Runtime/Engine/Classes/Engine/StaticMeshActor.h"
13#include "AssetRegistry/AssetRegistryModule.h"
14#include "PrepareAssetsForCookingCommandlet.generated.h"
18#undef InterlockedCompareExchange
19#undef _InterlockedCompareExchange
26 GENERATED_USTRUCT_BODY()
30 bool bOnlyPrepareMaps;
37 GENERATED_USTRUCT_BODY()
43 bool bUseCarlaMapMaterials;
50 GENERATED_USTRUCT_BODY()
54 TArray<FString> PropsPaths;
67#if WITH_EDITORONLY_DATA
73 void LoadWorld(FAssetData &AssetData);
76 void LoadWorldTile(FAssetData &AssetData);
78 void LoadLargeMapWorld(FAssetData &AssetData);
86 TArray<AStaticMeshActor *> SpawnMeshesToWorld(
87 const TArray<FString> &AssetsPaths,
88 bool bUseCarlaMaterials,
95 FAssetData &AssetData,
96 const FString &PackageName,
97 const FString &DestPath,
98 const FString &WorldName,
99 bool bGenerateSpawnPoints =
true);
102 void DestroySpawnedActorsInWorld(TArray<AStaticMeshActor *> &SpawnedActors);
105 FAssetsPaths GetAssetsPathFromPackage(
const FString &PackageName)
const;
108 void GenerateMapPathsFile(
const FAssetsPaths &AssetsPaths,
const FString &PropsMapPath);
111 void GeneratePackagePathFile(
const FString &PackageName);
114 void PrepareMapsForCooking(
const FString &PackageName,
const TArray<FMapData> &MapsPaths);
117 void PreparePropsForCooking(FString &PackageName,
const TArray<FString> &PropsPaths, FString &MapDestPath);
120 bool IsMapInTiles(
const TArray<FString> &AssetsPaths);
125 virtual int32 Main(
const FString &Params)
override;
133 TArray<FAssetData> AssetDatas;
137 TArray<FAssetData> MapContents;
141 UObjectLibrary *MapObjectLibrary;
145 UObjectLibrary *AssetsObjectLibrary;
153 UMaterialInstance *RoadNodeMaterial;
157 UMaterialInstance *CurbNodeMaterialInstance;
161 UMaterialInstance *GutterNodeMaterialInstance;
165 UMaterialInstance *MarkingNodeYellow;
169 UMaterialInstance *MarkingNodeWhite;
173 UMaterialInstance *TerrainNodeMaterialInstance;
177 UMaterialInstance *SidewalkNodeMaterialInstance;
180 bool SavePackage(const FString &PackagePath, UPackage *Package) const;
184 FString GetFirstPackagePath(const FString &PackageName) const;
TSharedPtr< const FActorInfo > carla::rpc::ActorState UWorld * World
包含从 .Package.json 文件中读取的所有资产数据的结构
包含从 .Package.json 文件中读取的地图数据的结构体
包含带有 Name 的 Package 和 bOnlyPrepareMaps 标志的结构体,用于 在不同阶段分离地图和道具的烹饪过程(地图将在 make import 命令期间导入,而道具将在 make...