50 check(Episode !=
nullptr);
54 const std::optional<carla::road::Map>&
GetMap()
const {
58 const FString GetFullMapPath()
const;
61 const FString GetRelativeMapPath()
const;
63 UFUNCTION(Exec, Category =
"CARLA Game Mode")
64 void DebugShowSignals(
bool enable);
66 UFUNCTION(BlueprintCallable, Category = "CARLA Game Mode")
69 UFUNCTION(Category = "Carla Game Mode", BlueprintCallable)
70 const TArray<FTransform>& GetSpawnPointsTransforms()
const{
71 return SpawnPointsTransforms;
74 UFUNCTION(Category =
"Carla Game Mode", BlueprintCallable, CallInEditor, Exec)
75 TArray<FBoundingBox> GetAllBBsOfLevel(uint8 TagQueried = 0xFF)
const;
77 UFUNCTION(Category =
"Carla Game Mode", BlueprintCallable, CallInEditor, Exec)
80 return ObjectRegister->GetEnvironmentObjects(QueriedTag);
83 void EnableEnvironmentObjects(
const TSet<uint64>& EnvObjectIds,
bool Enable);
89 return DisabledEnvironmentObjects;
94 return EnvironmentObjectsSerial;
101 return EnvironmentObjectsRegistrations;
107 return LoadedMapLayers;
110 void EnableOverlapEvents();
112 void CheckForEmptyMeshes();
114 UFUNCTION(Category =
"Carla Game Mode", BlueprintCallable, CallInEditor, Exec)
115 void LoadMapLayer(int32 MapLayers);
117 UFUNCTION(Category =
"Carla Game Mode", BlueprintCallable, CallInEditor, Exec)
118 void UnLoadMapLayer(int32 MapLayers);
120 UFUNCTION(Category =
"Carla Game Mode")
121 ULevel* GetULevelFromName(FString LevelName);
123 UFUNCTION(BlueprintCallable, Category = "Carla Game Mode")
124 void OnLoadStreamLevel();
126 UFUNCTION(BlueprintCallable, Category = "Carla Game Mode")
127 void OnUnloadStreamLevel();
133 AActor* FindActorByName(
const FString& ActorName);
143 [[deprecated(
"This command no longer makes sense since the apply_textures API relies on IDs.")]]
144 TArray<FString> GetNamesOfAllActors();
148 UPROPERTY(BlueprintReadOnly, EditAnywhere, Category=
"Sensor Gravity")
149 float IMUSensorGravity = 9.81f;
151 FOnEpisodeInitialisedDelegate OnEpisodeInitialisedDelegate;
155 void InitGame(const FString &MapName, const FString &Options, FString &ErrorMessage) override;
157 void RestartPlayer(
AController *NewPlayer) override;
159 void BeginPlay() override;
161 void EndPlay(const EEndPlayReason::Type EndPlayReason) override;
163 void Tick(
float DeltaSeconds) override;
168 virtual
void LoadGeoReference();
170 void StoreSpawnPoints();
181 void OnLevelAddedToWorld(ULevel* InLevel, UWorld* InWorld);
183 void SpawnActorFactories();
185 void GenerateSpawnPoints();
187 void ParseOpenDrive();
193 void RegisterEnvironmentObjects();
197 void ConvertMapLayerMaskToMapNames(int32 MapLayer, TArray<FName>& OutLevelNames);
217 UPROPERTY(Category = "CARLA Game Mode", EditAnywhere)
222 UPROPERTY(Category = "CARLA Game Mode", EditAnywhere)
226 TArray<FTransform> SpawnPointsTransforms;
236 FDelegateHandle OnEpisodeSettingsChangeHandle;
240 int PendingLevelsToLoad = 0;
242 TSet<uint64> DisabledEnvironmentObjects;
244 uint64 EnvironmentObjectsSerial = 0u;
246 uint64 EnvironmentObjectsRegistrations = 0u;
248 int32 LoadedMapLayers = 0;
249 int PendingLevelsToUnLoad = 0;
251 bool ReadyToRegisterObjects = false;
255 int32 LatentInfoUUID = 0;