Para isso, o gerente tem que sempre estar na posição 1 da sala (o que vai colocar ele na posição 1 da partida).
Isso já acontece quando a sala é criada (porque Sala.adiciona() sempre coloca as pessoas no primeiro slot livre, então o jogador que criar a sala - inicialmente o gerente - vai estar na posição 1). O problema é quando ele sai da sala, porque o jogador mais antigo passa a ser o gerente.
O jeito mais fácil de fazer isso foi definir que o gerente não é mais o jogador mais antigo, e sim o jogador na posição 1 (como já acontece no jogo Bluetooth e no single-player). Isso simplifica o código no servidor (não é preciso mais guardar timestamps de entrada em sala, garantir a unicidade deles e consultar pra achar o gerente), o protocolo (não é preciso mais passar a posição do gerente) e o cliente (ele simplesmente assume que o humano é o gerente se ele estiver na posição 1 da sala/partida).
Para isso, o gerente tem que sempre estar na posição 1 da sala (o que vai colocar ele na posição 1 da partida).
Isso já acontece quando a sala é criada (porque
Sala.adiciona()
sempre coloca as pessoas no primeiro slot livre, então o jogador que criar a sala - inicialmente o gerente - vai estar na posição 1). O problema é quando ele sai da sala, porque o jogador mais antigo passa a ser o gerente.O jeito mais fácil de fazer isso foi definir que o gerente não é mais o jogador mais antigo, e sim o jogador na posição 1 (como já acontece no jogo Bluetooth e no single-player). Isso simplifica o código no servidor (não é preciso mais guardar timestamps de entrada em sala, garantir a unicidade deles e consultar pra achar o gerente), o protocolo (não é preciso mais passar a posição do gerente) e o cliente (ele simplesmente assume que o humano é o gerente se ele estiver na posição 1 da sala/partida).