//get list of unready players, remove them from lobby (and add them as spectators) //plus, call the after lobby leave hook for each player removed func removeUnreadyPlayers(lobby *lobby.Lobby) { players := lobby.GetUnreadyPlayers() lobby.RemoveUnreadyPlayers(true) for _, player := range players { hooks.AfterLobbyLeave(lobby, player, false, true) } }