Unreal/CarlaUE4/Plugins/RoadRunnerImporter/Source/RoadRunnerImporter/Private/RoadRunnerImporter.cpp
////////////////////////////////////////////////////////////////////////////////
// Parses "Junction" element. Contains its "ID" and multiple "SignalPhase" elements
Parses "Junction" element. Contains its "ID" and multiple "SignalPhase" elements
Parses " Junction " element . Contains its " ID " and multiple " SignalPhase " elements
FJunction LoadJunction(FXmlNode* junctionNode, const std::unordered_map<FString, USCS_Node*, FStringHash>& uuidToComponentMap, const std::unordered_map<FString, FSignalAsset, FStringHash>& uuidToSignalAssetMap)
	{
		FJunction junction;
		for (const auto& junctionProperty : junctionNode->GetChildrenNodes())
		{
			const FString& tag = junctionProperty->GetTag();
			if (tag.Equals(TEXT("ID"), ESearchCase::CaseSensitive))
			{
				junction.Id = junctionProperty->GetContent();
			}
			else if (tag.Equals(TEXT("SignalPhase"), ESearchCase::CaseSensitive))
			{
				FSignalPhase signalPhase = LoadSignalPhase(junctionProperty, uuidToComponentMap, uuidToSignalAssetMap);
				junction.SignalPhases.Add(signalPhase);
			}
		}
		return junction;
	}
FJunction LoadJunction ( FXmlNode * junctionNode , const std :: unordered_map < FString , USCS_Node * , FStringHash > & uuidToComponentMap , const std :: unordered_map < FString , FSignalAsset , FStringHash > & uuidToSignalAssetMap ) { FJunction junction ; for ( const auto & junctionProperty : junctionNode -> GetChildrenNodes ( ) ) { const FString & tag = junctionProperty -> GetTag ( ) ; if ( tag . Equals ( TEXT ( " " ) , ESearchCase :: CaseSensitive ) ) { junction . Id = junctionProperty -> GetContent ( ) ; } else if ( tag . Equals ( TEXT ( " " ) , ESearchCase :: CaseSensitive ) ) { FSignalPhase signalPhase = LoadSignalPhase ( junctionProperty , uuidToComponentMap , uuidToSignalAssetMap ) ; junction . SignalPhases . Add ( signalPhase ) ; } } return junction ; }
Parses "Junction" element.
Parses " Junction " element .