func AfterLobbyLeave(lobby *models.Lobby, player *models.Player) { broadcaster.SendMessage(player.SteamID, "lobbyLeft", models.DecorateLobbyLeave(lobby)) sockets, _ := sessions.GetSockets(player.SteamID) //player might have connected from multiple tabs, remove all of them from the room for _, so := range sockets { socket.AuthServer.RemoveClient(so, fmt.Sprintf("%s_private", GetLobbyRoom(lobby.ID))) } }
func AfterLobbyLeave(server *wsevent.Server, so *wsevent.Client, lobby *models.Lobby, player *models.Player) { //pub := fmt.Sprintf("%s_public", GetLobbyRoom(lobby.ID)) // bytes, _ := json.Marshal(models.DecorateLobbyData(lobby, true)) // broadcaster.SendMessageToRoom(pub, "lobbyData", string(bytes)) bytes, _ := json.Marshal(models.DecorateLobbyLeave(lobby)) broadcaster.SendMessage(player.SteamId, "lobbyLeft", string(bytes)) server.RemoveClient(so.Id(), fmt.Sprintf("%s_private", GetLobbyRoom(lobby.ID))) }