mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-25 22:42:04 +02:00
Merge branch 'rmg-refactor-enums' into rmg-no-monster-zone
This commit is contained in:
@@ -140,7 +140,7 @@ ZoneOptions::ZoneOptions():
|
||||
owner(std::nullopt),
|
||||
matchTerrainToTown(true),
|
||||
townsAreSameType(false),
|
||||
zoneMonsterStrength(EMonsterStrength::ZONE_NORMAL),
|
||||
monsterStrength(EZoneMonsterStrength::NORMAL),
|
||||
minesLikeZone(NO_ZONE),
|
||||
terrainTypeLikeZone(NO_ZONE),
|
||||
treasureLikeZone(NO_ZONE)
|
||||
@@ -378,7 +378,7 @@ void ZoneOptions::serializeJson(JsonSerializeFormat & handler)
|
||||
|
||||
{
|
||||
//TODO: add support for std::map to serializeEnum
|
||||
static const std::vector<std::string> STRENGTH =
|
||||
static const std::vector<std::string> zoneMonsterStrengths =
|
||||
{
|
||||
"none",
|
||||
"weak",
|
||||
@@ -386,18 +386,7 @@ void ZoneOptions::serializeJson(JsonSerializeFormat & handler)
|
||||
"strong"
|
||||
};
|
||||
|
||||
si32 rawStrength = 0;
|
||||
if(handler.saving)
|
||||
{
|
||||
rawStrength = static_cast<decltype(rawStrength)>(zoneMonsterStrength);
|
||||
rawStrength++;
|
||||
}
|
||||
handler.serializeEnum("monsters", rawStrength, EMonsterStrength::ZONE_NORMAL + 1, STRENGTH);
|
||||
if(!handler.saving)
|
||||
{
|
||||
rawStrength--;
|
||||
zoneMonsterStrength = static_cast<decltype(zoneMonsterStrength)>(rawStrength);
|
||||
}
|
||||
handler.serializeEnum("monsters", monsterStrength, EZoneMonsterStrength::NORMAL, zoneMonsterStrengths); // default is normal monsters
|
||||
}
|
||||
|
||||
if(treasureLikeZone == NO_ZONE)
|
||||
|
||||
Reference in New Issue
Block a user