mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-20 16:15:43 +00:00
Make ZoneDefinition parser recognize strings as asset names
This commit is contained in:
parent
cff70daccb
commit
b8cfdba5ec
@ -12,7 +12,10 @@ SequenceZoneDefinitionEntry::SequenceZoneDefinitionEntry()
|
||||
create.Identifier().Capture(CAPTURE_TYPE_NAME),
|
||||
create.Char(','),
|
||||
create.Optional(create.Char(',').Tag(TAG_REFERENCE)),
|
||||
create.Label(ZoneDefinitionCommonMatchers::LABEL_ASSET_NAME).Capture(CAPTURE_ASSET_NAME),
|
||||
create.Or({
|
||||
create.Type(SimpleParserValueType::STRING),
|
||||
create.Label(ZoneDefinitionCommonMatchers::LABEL_ASSET_NAME)
|
||||
}).Capture(CAPTURE_ASSET_NAME),
|
||||
create.Or({
|
||||
create.Type(SimpleParserValueType::NEW_LINE),
|
||||
create.Type(SimpleParserValueType::END_OF_FILE)
|
||||
@ -22,8 +25,20 @@ SequenceZoneDefinitionEntry::SequenceZoneDefinitionEntry()
|
||||
|
||||
void SequenceZoneDefinitionEntry::ProcessMatch(ZoneDefinition* state, SequenceResult<SimpleParserValue>& result) const
|
||||
{
|
||||
const auto& assetNameCapture = result.NextCapture(CAPTURE_ASSET_NAME);
|
||||
|
||||
std::string assetName;
|
||||
if (assetNameCapture.m_type == SimpleParserValueType::STRING)
|
||||
{
|
||||
assetName = assetNameCapture.StringValue();
|
||||
}
|
||||
else
|
||||
{
|
||||
assetName = assetNameCapture.IdentifierValue();
|
||||
}
|
||||
|
||||
state->m_assets.emplace_back(
|
||||
result.NextCapture(CAPTURE_TYPE_NAME).IdentifierValue(),
|
||||
result.NextCapture(CAPTURE_ASSET_NAME).IdentifierValue(),
|
||||
assetName,
|
||||
result.NextTag() == TAG_REFERENCE);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user