Add random engine to player controller
This commit is contained in:
parent
7314f56d6b
commit
72ae61dc5e
|
@ -159,9 +159,8 @@ void ACarlaGameModeBase::BeginPlay()
|
|||
TActorIterator<ACityMapGenerator> It(GetWorld());
|
||||
URoadMap *RoadMap = (It ? It->GetRoadMap() : nullptr);
|
||||
|
||||
auto Controller = Cast<AWheeledVehicleAIController>(PlayerController);
|
||||
if (Controller != nullptr) {
|
||||
Controller->SetRoadMap(RoadMap);
|
||||
if (PlayerController != nullptr) {
|
||||
PlayerController->SetRoadMap(RoadMap);
|
||||
} else {
|
||||
UE_LOG(LogCarla, Error, TEXT("Player controller is not a AWheeledVehicleAIController!"));
|
||||
}
|
||||
|
@ -171,6 +170,9 @@ void ACarlaGameModeBase::BeginPlay()
|
|||
VehicleSpawner->SetNumberOfVehicles(CarlaSettings.NumberOfVehicles);
|
||||
VehicleSpawner->SetSeed(CarlaSettings.SeedVehicles);
|
||||
VehicleSpawner->SetRoadMap(RoadMap);
|
||||
if (PlayerController != nullptr) {
|
||||
PlayerController->SetRandomEngine(VehicleSpawner->GetRandomEngine());
|
||||
}
|
||||
} else {
|
||||
UE_LOG(LogCarla, Error, TEXT("Missing vehicle spawner actor!"));
|
||||
}
|
||||
|
@ -197,14 +199,13 @@ void ACarlaGameModeBase::RegisterPlayer(AController &NewPlayer)
|
|||
check(GameController != nullptr);
|
||||
AddTickPrerequisiteActor(&NewPlayer);
|
||||
GameController->RegisterPlayer(NewPlayer);
|
||||
PlayerController = &NewPlayer;
|
||||
AttachCaptureCamerasToPlayer(*PlayerController);
|
||||
PlayerController = Cast<ACarlaVehicleController>(&NewPlayer);
|
||||
AttachCaptureCamerasToPlayer();
|
||||
}
|
||||
|
||||
void ACarlaGameModeBase::AttachCaptureCamerasToPlayer(AController &Player)
|
||||
void ACarlaGameModeBase::AttachCaptureCamerasToPlayer()
|
||||
{
|
||||
ACarlaVehicleController *Vehicle = Cast<ACarlaVehicleController>(&Player);
|
||||
if (Vehicle == nullptr) {
|
||||
if (PlayerController == nullptr) {
|
||||
UE_LOG(LogCarla, Warning, TEXT("Trying to add capture cameras but player is not a ACarlaVehicleController"));
|
||||
return;
|
||||
}
|
||||
|
@ -215,7 +216,7 @@ void ACarlaGameModeBase::AttachCaptureCamerasToPlayer(AController &Player)
|
|||
OverridePostProcessParameters = &Weather->CameraPostProcessParameters;
|
||||
}
|
||||
for (const auto &Item : Settings.CameraDescriptions) {
|
||||
Vehicle->AddSceneCaptureCamera(Item.Value, OverridePostProcessParameters);
|
||||
PlayerController->AddSceneCaptureCamera(Item.Value, OverridePostProcessParameters);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include "MockGameControllerSettings.h"
|
||||
#include "CarlaGameModeBase.generated.h"
|
||||
|
||||
class ACarlaVehicleController;
|
||||
class APlayerStart;
|
||||
class ASceneCaptureCamera;
|
||||
class UTaggerDelegate;
|
||||
|
@ -56,7 +57,7 @@ private:
|
|||
|
||||
void RegisterPlayer(AController &NewPlayer);
|
||||
|
||||
void AttachCaptureCamerasToPlayer(AController &Player);
|
||||
void AttachCaptureCamerasToPlayer();
|
||||
|
||||
void TagActorsForSemanticSegmentation();
|
||||
|
||||
|
@ -74,7 +75,7 @@ private:
|
|||
UCarlaGameInstance *GameInstance;
|
||||
|
||||
UPROPERTY()
|
||||
AController *PlayerController;
|
||||
ACarlaVehicleController *PlayerController;
|
||||
|
||||
UPROPERTY()
|
||||
UTaggerDelegate *TaggerDelegate;
|
||||
|
|
Loading…
Reference in New Issue