Trong hàm `findAvailableRoom` của GameService có gọi `room.addUser(user, player)`. Hàm `addUser` lại gọi `this.playerManager.addPlayer(player, location)`.
Cho em hỏi thằng `playerManager` của `GameService` khác gì `playerManager` của từng room vậy ạ?
`playerManager` đó là quản lý tất cả player của toàn bộ game em ạ, chủ yếu là để mình quản lý rằng 1 thằng user chỉ được phép tạo 1 đối tượng player thôi em ạ, vì khi 1 thằng nó bị mất mạng chẳng hạn, nó có thể reconnect lại, mình không thể nào for loop toàn bộ các phòng để tìm xem có thằng user đó hay không được, mình phải thông qua đối tượng `playerManager` này để tìm ra player hiện tại gắn với user vừa vào app, thế sẽ nhanh hơn, em có hiểu ý anh không?
Ok anh, vậy playerManager trong room là quản lý players của từng room hả anh?
Đúng rồi em ạ