Communicate to the asset loader when parsing localize file failed

This commit is contained in:
Jan 2023-12-31 13:45:17 +01:00
parent eb065658e6
commit 9d0beaa8fc
No known key found for this signature in database
GPG Key ID: 44B581F78FF5C57C
3 changed files with 11 additions and 5 deletions

View File

@ -28,7 +28,10 @@ bool LocalizeCommonAssetLoader::LoadLocalizeAsset(const std::string& assetName,
auto* zoneState = manager->GetAssetLoadingContext()->GetZoneAssetLoaderState<LocalizeReadingZoneState>();
LocalizeFileReader reader(*file.m_stream, assetName, zone->m_language, zoneState);
const auto localizeEntries = reader.ReadLocalizeFile();
std::vector<CommonLocalizeEntry> localizeEntries;
if (!reader.ReadLocalizeFile(localizeEntries))
return false;
for (const auto& entry : localizeEntries)
{

View File

@ -28,7 +28,7 @@ void LocalizeFileReader::SetupStreamProxies()
m_stream = m_open_streams.back().get();
}
std::vector<CommonLocalizeEntry> LocalizeFileReader::ReadLocalizeFile()
bool LocalizeFileReader::ReadLocalizeFile(std::vector<CommonLocalizeEntry>& entries)
{
SimpleLexer::Config lexerConfig;
lexerConfig.m_emit_new_line_tokens = true;
@ -41,8 +41,11 @@ std::vector<CommonLocalizeEntry> LocalizeFileReader::ReadLocalizeFile()
const auto parser = std::make_unique<LocalizeFileParser>(lexer.get(), m_language, m_zone_state);
if (parser->Parse())
return parser->GetParsedValues();
{
entries = parser->GetParsedValues();
return true;
}
std::cerr << "Parsing localization file failed!" << std::endl;
return std::vector<CommonLocalizeEntry>();
return false;
}

View File

@ -24,5 +24,5 @@ class LocalizeFileReader
public:
LocalizeFileReader(std::istream& stream, std::string fileName, GameLanguage language, LocalizeReadingZoneState* zoneState);
std::vector<CommonLocalizeEntry> ReadLocalizeFile();
bool ReadLocalizeFile(std::vector<CommonLocalizeEntry>& entries);
};