mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-25 22:42:04 +02:00
Fix alignments check
This commit is contained in:
@@ -55,11 +55,13 @@ bool ObstacleSetFilter::filter(const ObstacleSet &set) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Also check specific factions
|
// TODO: Also check specific factions
|
||||||
auto alignments = set.getAlignments();
|
if (alignment != EAlignment::ANY)
|
||||||
|
|
||||||
if (alignment != EAlignment::ANY && !alignments.empty() && !vstd::contains(alignments, alignment))
|
|
||||||
{
|
{
|
||||||
return false;
|
auto alignments = set.getAlignments();
|
||||||
|
if (!alignments.empty() && !vstd::contains(alignments, alignment))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -269,6 +271,8 @@ std::shared_ptr<ObstacleSet> ObstacleSetHandler::loadFromJson(const std::string
|
|||||||
auto biome = json["biome"].Struct();
|
auto biome = json["biome"].Struct();
|
||||||
os->setType(ObstacleSet::typeFromString(biome["objectType"].String()));
|
os->setType(ObstacleSet::typeFromString(biome["objectType"].String()));
|
||||||
|
|
||||||
|
// TODO: Handle any (every) terrain option
|
||||||
|
|
||||||
if (biome["terrain"].isString())
|
if (biome["terrain"].isString())
|
||||||
{
|
{
|
||||||
auto terrainName = biome["terrain"].String();
|
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)
|
for (const auto & node : alignments)
|
||||||
{
|
{
|
||||||
os->addAlignment(parseAlignment(node.String()));
|
os->addAlignment(parseAlignment(node.String()));
|
||||||
|
|||||||
Reference in New Issue
Block a user