neteja NOLINT identifier-naming i lambdes a metodes privats Game
This commit is contained in:
+33
-35
@@ -798,36 +798,41 @@ auto Game::getOrCreateRoom(const std::string& room_path) -> std::shared_ptr<Room
|
||||
return room;
|
||||
}
|
||||
|
||||
// Obtiene el collision tilemap de una room adyacente (nullptr si no existe)
|
||||
auto Game::getAdjacentCollision(Room::Border border) -> const std::vector<int>* {
|
||||
auto name = room_->getRoom(border);
|
||||
if (name == "0") { return nullptr; }
|
||||
return &getOrCreateRoom(name)->getCollisionTileMap();
|
||||
}
|
||||
|
||||
// Obtiene el collision tilemap de una room diagonal (A→B o C→D)
|
||||
auto Game::getDiagCollision(Room::Border first, Room::Border second) -> const std::vector<int>* {
|
||||
// Camino 1: room en dirección 'first', luego su adyacente en dirección 'second'
|
||||
auto name1 = room_->getRoom(first);
|
||||
if (name1 != "0") {
|
||||
auto r = getOrCreateRoom(name1);
|
||||
auto name2 = r->getRoom(second);
|
||||
if (name2 != "0") { return &getOrCreateRoom(name2)->getCollisionTileMap(); }
|
||||
}
|
||||
// Camino 2: room en dirección 'second', luego su adyacente en dirección 'first'
|
||||
auto name3 = room_->getRoom(second);
|
||||
if (name3 != "0") {
|
||||
auto r = getOrCreateRoom(name3);
|
||||
auto name4 = r->getRoom(first);
|
||||
if (name4 != "0") { return &getOrCreateRoom(name4)->getCollisionTileMap(); }
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// SolidActorManager de la room adyacente (nullptr si no existe)
|
||||
auto Game::getAdjacentSolidActors(Room::Border border) -> SolidActorManager* {
|
||||
auto name = room_->getRoom(border);
|
||||
if (name == "0") { return nullptr; }
|
||||
return &getOrCreateRoom(name)->getSolidActors();
|
||||
}
|
||||
|
||||
// Construye el tilemap extendido de la room actual con los bordes de las adyacentes
|
||||
void Game::buildCollisionBorders() {
|
||||
// NOLINTBEGIN(readability-identifier-naming) -- lambdas locales: se leen como llamadas a función, no son constantes.
|
||||
// Helper: obtiene el collision tilemap de una room adyacente (nullptr si no existe)
|
||||
auto getAdjacentCollision = [&](Room::Border b) -> const std::vector<int>* {
|
||||
auto name = room_->getRoom(b);
|
||||
if (name == "0") { return nullptr; }
|
||||
return &getOrCreateRoom(name)->getCollisionTileMap();
|
||||
};
|
||||
|
||||
// Helper: obtiene el collision tilemap de una room diagonal (A→B o C→D)
|
||||
auto getDiagCollision = [&](Room::Border first, Room::Border second) -> const std::vector<int>* {
|
||||
// Camino 1: room en dirección 'first', luego su adyacente en dirección 'second'
|
||||
auto name1 = room_->getRoom(first);
|
||||
if (name1 != "0") {
|
||||
auto r = getOrCreateRoom(name1);
|
||||
auto name2 = r->getRoom(second);
|
||||
if (name2 != "0") { return &getOrCreateRoom(name2)->getCollisionTileMap(); }
|
||||
}
|
||||
// Camino 2: room en dirección 'second', luego su adyacente en dirección 'first'
|
||||
auto name3 = room_->getRoom(second);
|
||||
if (name3 != "0") {
|
||||
auto r = getOrCreateRoom(name3);
|
||||
auto name4 = r->getRoom(first);
|
||||
if (name4 != "0") { return &getOrCreateRoom(name4)->getCollisionTileMap(); }
|
||||
}
|
||||
return nullptr;
|
||||
};
|
||||
// NOLINTEND(readability-identifier-naming)
|
||||
|
||||
CollisionMap::AdjacentData adj;
|
||||
adj.top = getAdjacentCollision(Room::Border::TOP);
|
||||
adj.bottom = getAdjacentCollision(Room::Border::BOTTOM);
|
||||
@@ -845,13 +850,6 @@ void Game::buildCollisionBorders() {
|
||||
// que los sweeps del Player vean AABBs dinámicos (puertas, plataformas)
|
||||
// de la room vecina cuando está cerca del borde, sin tener que esperar
|
||||
// a una transición completa de room.
|
||||
// NOLINTNEXTLINE(readability-identifier-naming) -- lambda local: se lee como función, no es constante.
|
||||
auto getAdjacentSolidActors = [&](Room::Border b) -> SolidActorManager* {
|
||||
auto name = room_->getRoom(b);
|
||||
if (name == "0") { return nullptr; }
|
||||
return &getOrCreateRoom(name)->getSolidActors();
|
||||
};
|
||||
|
||||
SolidActorManager::AdjacentActors sadj;
|
||||
sadj.upper = getAdjacentSolidActors(Room::Border::TOP);
|
||||
sadj.lower = getAdjacentSolidActors(Room::Border::BOTTOM);
|
||||
|
||||
Reference in New Issue
Block a user