1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-02-17 13:41:07 +02:00

Fix alignments check

This commit is contained in:
Tomasz Zieliński 2024-04-12 09:38:45 +02:00
parent 1f81ddbac4
commit 6899acc1d7

View File

@ -55,11 +55,13 @@ bool ObstacleSetFilter::filter(const ObstacleSet &set) const
}
// TODO: Also check specific factions
auto alignments = set.getAlignments();
if (alignment != EAlignment::ANY && !alignments.empty() && !vstd::contains(alignments, alignment))
if (alignment != EAlignment::ANY)
{
return false;
auto alignments = set.getAlignments();
if (!alignments.empty() && !vstd::contains(alignments, alignment))
{
return false;
}
}
return true;
@ -269,6 +271,8 @@ std::shared_ptr<ObstacleSet> ObstacleSetHandler::loadFromJson(const std::string
auto biome = json["biome"].Struct();
os->setType(ObstacleSet::typeFromString(biome["objectType"].String()));
// TODO: Handle any (every) terrain option
if (biome["terrain"].isString())
{
auto terrainName = biome["terrain"].String();
@ -306,13 +310,13 @@ std::shared_ptr<ObstacleSet> ObstacleSetHandler::loadFromJson(const std::string
}
};
if (json["alignment"].isString())
if (biome["alignment"].isString())
{
os->addAlignment(parseAlignment(json["alignment"].String()));
os->addAlignment(parseAlignment(biome["alignment"].String()));
}
else if (json["alignment"].isVector())
else if (biome["alignment"].isVector())
{
auto alignments = json["alignment"].Vector();
auto alignments = biome["alignment"].Vector();
for (const auto & node : alignments)
{
os->addAlignment(parseAlignment(node.String()));