Go to the documentation of this file.
19 #include "Engine/EngineTypes.h"
31 #include "RRGameMode.generated.h"
89 static constexpr int32 SIM_START_TIMEOUT_MINS = 2;
91 static constexpr int32 SIM_START_TIMEOUT_SECS = 60 * SIM_START_TIMEOUT_MINS;
108 return (
static_cast<uint8
>(InSimType) &
static_cast<uint8
>(SimType));
128 SimType |=
static_cast<uint8
>(InSimType);
140 static FString simTypeName = [
this]()
146 auto fAppendIfOfType = [
this, &resultName](
const ERRSimType InSimType)
150 if (IsSimType(InSimType))
156 if (resultName.IsEmpty())
160 resultName = typeName;
168 resultName.Append(FString::Printf(TEXT(
",%s"), *typeName));
190 virtual void PreInitializeComponents()
override;
192 virtual void InitGameState()
override;
226 static void PrintUEPreprocessors();
236 virtual void ConfigureSimInPlay();
258 virtual void StartSim();
267 bool bBenchmark =
true;
271 void EndPlay(
const EEndPlayReason::Type EndPlayReason)
override;
284 float BeginTimeStampSec = 0.f;
303 bool TryStartingSim();
static FORCEINLINE FString GetEnumValueAsString(const FString &InTypeName, TEnum InEnumValue, const TCHAR *InModuleName=nullptr)
Definition: RRTypeUtils.h:118
GameMode with specific setting, asset loading and #SceneDirector. Parent class, ARRROS2GameMode,...
Definition: RRGameMode.h:79
ERRSimType
todo
Definition: RRGameMode.h:48
virtual void StartPlay() override
Set timestep with startplay and call InitSim.
ROS 2 GameMode which have Clock publisher and ROS 2 services to interact with ROS 2.
Definition: RRROS2GameMode.h:64
virtual void PrintSimConfig() const
Print GameMode's user configs in INI.
bool IsSimType(const ERRSimType InSimType) const
Definition: RRGameMode.h:104
ROS 2 GameMode which have Clock publisher and ROS 2 services to interact with ROS 2.
FTimerHandle OwnTimerHandle
Definition: RRGameMode.h:277
FString GetSimTypeName() const
Definition: RRGameMode.h:134
void SetSimType(const ERRSimType InSimType)
Definition: RRGameMode.h:124
bool IsDataSynthSimType() const
Definition: RRGameMode.h:114