#include "game/gameplay/room_tracker.hpp"

#include <algorithm>  // Para std::ranges::any_of

// Comprueba si la habitación ya ha sido visitada
auto RoomTracker::hasBeenVisited(const std::string& name) -> bool {
    return std::ranges::any_of(rooms_, [&name](const auto& l) -> bool { return l == name; });
}

// Añade la habitación a la lista
auto RoomTracker::addRoom(const std::string& name) -> bool {
    // Comprueba si la habitación ya ha sido visitada
    if (!hasBeenVisited(name)) {
        // En caso contrario añádela a la lista
        rooms_.push_back(name);
        return true;  // NOLINT(readability-simplify-boolean-expr)
    }

    return false;
}