Skip to content

Commit

Permalink
Rename
Browse files Browse the repository at this point in the history
  • Loading branch information
duncanspumpkin committed Apr 18, 2022
1 parent e4c280e commit 9ef01ef
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 5 deletions.
2 changes: 1 addition & 1 deletion src/OpenLoco/Map/BuildingTile.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ namespace OpenLoco::Map
for (auto i = 1; i < 4; ++i)
{
const auto pos = loc + Map::offsets[i];
TileManager::visitAll<BuildingElement>(TilePos2{ pos }, [=](BuildingElement& elBuilding2) {
TileManager::visit<BuildingElement>(TilePos2{ pos }, [=](BuildingElement& elBuilding2) {
if (elBuilding2.baseZ() != baseZ())
{
return;
Expand Down
27 changes: 23 additions & 4 deletions src/OpenLoco/Map/TileManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ namespace OpenLoco::Map::TileManager
void createDestructExplosion(const Map::Pos3& pos);
void removeBuildingElement(BuildingElement& element, const Map::Pos2& pos);

template<typename T, typename Visitor>
void visitAll(const TilePos2& pos, Visitor&& vis)
template<typename T, typename Predicate, typename Visitor>
void visit(const TilePos2& pos, Predicate&& pred, Visitor&& vis)
{
auto tile = get(pos);
for (auto& el : tile)
Expand All @@ -51,11 +51,30 @@ namespace OpenLoco::Map::TileManager
{
continue;
}
if (!pred(*elT))
{
continue;
}
vis(*elT);
}
}

template<typename T, typename Visitor>
T* visitFirst(const TilePos2& pos, Visitor&& vis)
void visit(const TilePos2& pos, Visitor&& vis)
{
auto tile = get(pos);
for (auto& el : tile)
{
auto* elT = el.as<T>();
if (elT == nullptr)
{
continue;
}
vis(*elT);
}
}
template<typename T, typename Predicate>
T* find(const TilePos2& pos, Predicate&& pred)
{
auto tile = get(pos);
for (auto& el : tile)
Expand All @@ -65,7 +84,7 @@ namespace OpenLoco::Map::TileManager
{
continue;
}
if (!vis(*elT))
if (!pred(*elT))
{
continue;
}
Expand Down

0 comments on commit 9ef01ef

Please sign in to comment.