Delete table when empty
This commit is contained in:
@ -39,7 +39,7 @@ final class WaitingTable: AbstractTable<WaitingPlayer> {
|
||||
- Parameter oldTable: The table to convert
|
||||
- Parameter player: The name of the player to remove from the table.
|
||||
*/
|
||||
init(oldTable: ManageableTable, removing player: PlayerName) {
|
||||
init?(oldTable: ManageableTable, removing player: PlayerName) {
|
||||
// TODO: End game and distribute points
|
||||
let players = oldTable.allPlayers
|
||||
.filter {
|
||||
@ -50,6 +50,9 @@ final class WaitingTable: AbstractTable<WaitingPlayer> {
|
||||
return false
|
||||
}
|
||||
.map { WaitingPlayer(name: $0.name, points: $0.totalPoints, socket: $0.socket) }
|
||||
guard !players.isEmpty else {
|
||||
return nil
|
||||
}
|
||||
players.first!.isNextActor = true
|
||||
super.init(table: oldTable, players: players)
|
||||
}
|
||||
@ -58,7 +61,7 @@ final class WaitingTable: AbstractTable<WaitingPlayer> {
|
||||
Convert another table to a waiting table.
|
||||
|
||||
This is needed when a player leaves an active table.
|
||||
- Parameter oldTable: The table to convert
|
||||
- Parameter table: The table to convert
|
||||
*/
|
||||
init(oldTableAdvancedByOne table: ManageableTable) {
|
||||
let players = table.allPlayers
|
||||
|
Reference in New Issue
Block a user