1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-27 22:49:25 +02:00

- Add new option for connection

- Store info about objects and roads in RequiredObjectInfo
This commit is contained in:
Tomasz Zieliński
2023-07-06 22:15:00 +02:00
parent fcf7a29f45
commit 0d3ac4a502
8 changed files with 139 additions and 59 deletions

View File

@@ -435,11 +435,12 @@ void ZoneOptions::serializeJson(JsonSerializeFormat & handler)
}
}
ZoneConnection::ZoneConnection()
: zoneA(-1),
ZoneConnection::ZoneConnection():
zoneA(-1),
zoneB(-1),
guardStrength(0),
connectionType(EConnectionType::EConnectionType::GUARDED)
connectionType(EConnectionType::EConnectionType::GUARDED),
hasRoad(ERoadOption::ERoadOption::ROAD_TRUE)
{
}
@@ -479,6 +480,11 @@ EConnectionType::EConnectionType ZoneConnection::getConnectionType() const
{
return connectionType;
}
ERoadOption::ERoadOption ZoneConnection::getRoadOption() const
{
return hasRoad;
}
bool operator==(const ZoneConnection & l, const ZoneConnection & r)
{
@@ -495,10 +501,18 @@ void ZoneConnection::serializeJson(JsonSerializeFormat & handler)
"wide"
};
static const std::vector<std::string> roadOptions =
{
"true",
"false",
"random"
};
handler.serializeId<TRmgTemplateZoneId, TRmgTemplateZoneId, ZoneEncoder>("a", zoneA, -1);
handler.serializeId<TRmgTemplateZoneId, TRmgTemplateZoneId, ZoneEncoder>("b", zoneB, -1);
handler.serializeInt("guard", guardStrength, 0);
handler.serializeEnum("type", connectionType, connectionTypes);
handler.serializeEnum("road", hasRoad, roadOptions);
}
}