in Ambit/Source/Ambit/Mode/PedestrianTraffic.cpp [35:82]
void FPedestrianTraffic::DeserializeFromJson(TSharedPtr<FJsonObject> JsonObject)
{
FString Warnings;
if (JsonObject->HasField(JsonConstants::KMinKey))
{
FString TempMessage;
const float IncomingMin = JsonObject->GetNumberField(JsonConstants::KMinKey);
this->Min = FMathHelpers::ClampBoundary(IncomingMin, 0.f, 1.f, TEXT("pedestrian density min"), TempMessage);
if (!TempMessage.IsEmpty())
{
Warnings.Append(TempMessage + LINE_TERMINATOR);
}
}
if (JsonObject->HasField(JsonConstants::KMaxKey))
{
FString TempMessage;
const float IncomingMax = JsonObject->GetNumberField(JsonConstants::KMaxKey);
this->Max = FMathHelpers::ClampBoundary(IncomingMax, 0.f, 1.f, TEXT("pedestrian density max"), TempMessage);
if (!TempMessage.IsEmpty())
{
Warnings.Append(TempMessage + LINE_TERMINATOR);
}
}
if (JsonObject->HasField(JsonConstants::KIncrementKey))
{
FString TempMessage;
const float IncomingIncrement = JsonObject->GetNumberField(JsonConstants::KIncrementKey);
this->Increment = FMathHelpers::ClampBoundary(IncomingIncrement, 0.1f, 0.1f,
TEXT("pedestrian density increment"), TempMessage);
if (!TempMessage.IsEmpty())
{
Warnings.Append(TempMessage + LINE_TERMINATOR);
}
}
if (!Warnings.IsEmpty())
{
FMenuHelpers::LogErrorAndPopup(Warnings);
}
}