Add random engine to player controller

This commit is contained in:
nsubiron 2017-09-05 18:11:09 +02:00
parent 7314f56d6b
commit 72ae61dc5e
2 changed files with 13 additions and 11 deletions

View File

@ -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);
}
}

View File

@ -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;