Skip to content

Commit aec18ae

Browse files
Make airsim api work with new referee blueprint
1 parent bfdc88c commit aec18ae

4 files changed

Lines changed: 8 additions & 1 deletion

File tree

UE4Project/Plugins/AirSim/Source/SimMode/SimModeBase.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ ASimModeBase::ASimModeBase()
4040

4141
static ConstructorHelpers::FClassFinder<AActor> sky_sphere_class(TEXT("Blueprint'/Engine/EngineSky/BP_Sky_Sphere'"));
4242
sky_sphere_class_ = sky_sphere_class.Succeeded() ? sky_sphere_class.Class : nullptr;
43+
44+
static ConstructorHelpers::FClassFinder<AReferee> refereeBP_class(TEXT("Blueprint'/Game/FormulaStudentAssets/RefereeBP'"));
45+
refereeBP_class_ = refereeBP_class.Succeeded() ? refereeBP_class.Class : nullptr;
4346
}
4447

4548
void ASimModeBase::BeginPlay()

UE4Project/Plugins/AirSim/Source/SimMode/SimModeBase.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "api/ApiServerBase.hpp"
1414
#include "api/ApiProvider.hpp"
1515
#include "Vehicles/Car/CarPawnSimApi.h"
16+
#include "Referee.h"
1617

1718
#include "SimModeBase.generated.h"
1819

@@ -70,6 +71,8 @@ class AIRSIM_API ASimModeBase : public AActor
7071
return static_cast<CarPawnSimApi*>(api_provider_->getVehicleSimApi(vehicle_name));
7172
}
7273

74+
UPROPERTY() UClass* refereeBP_class_;
75+
7376
protected: //must overrides
7477
typedef msr::airlib::AirSimSettings AirSimSettings;
7578

UE4Project/Plugins/AirSim/Source/WorldSimApi.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ msr::airlib::CarApiBase::RefereeState WorldSimApi::getRefereeState() const
8888
{
8989
msr::airlib::CarApiBase::RefereeState result;
9090
UAirBlueprintLib::RunCommandOnGameThread([this, &result]() {
91-
AReferee* referee = UAirBlueprintLib::FindActor<AReferee>(simmode_, FString("referee"));
91+
AReferee* referee = (AReferee*) UGameplayStatics::GetActorOfClass(simmode_, simmode_->refereeBP_class_);
9292
result = referee ? referee->getState() : msr::airlib::CarApiBase::RefereeState();
9393
}, true);
9494
return result;

UE4Project/Plugins/AirSim/Source/WorldSimApi.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,5 @@ class WorldSimApi : public msr::airlib::WorldSimApiBase {
5252

5353
private:
5454
ASimModeBase* simmode_;
55+
UClass* refereeBPClass_;
5556
};

0 commit comments

Comments
 (0)