private void ProcessLobbyPacket(uint senderId, Stream stream) { LobbyPacket packet = new LobbyPacket(); packet.Deserialize(stream); string users = packet.payload.users; lobby.text = ""; string[] usersProcessed = users.Split(','); foreach (string user in usersProcessed) { lobby.text += user + System.Environment.NewLine; } }
public void SendUsers(List <string> userList, uint senderId, uint objectId) { LobbyPacket packet = new LobbyPacket(); LobbyData lobbyData = new LobbyData(); string data = ""; foreach (string user in userList) { data += user + ','; } lobbyData.users = data; packet.payload = lobbyData; PacketsManager.Instance.SendPacket(packet, null, senderId, objectId); }
public static void refreshLobbyList() { availableLobbies.Clear(); middleViewController.Data.Clear(); try { Dictionary <ulong, LobbyPacket> lobbies = SteamAPI.LobbyData; foreach (KeyValuePair <ulong, LobbyPacket> entry in lobbies) { LobbyPacket info = SteamAPI.LobbyData[entry.Key]; availableLobbies.Add(entry.Key, info.Joinable); middleViewController.Data.Add(new CustomCellInfo($"{(info.Joinable && info.TotalSlots - info.UsedSlots > 0 ? "":"[LOCKED]")}[{info.UsedSlots}/{info.TotalSlots}] {info.HostName}'s Lobby", $"{info.Status}")); } } catch (Exception e) { Logger.Error(e); } middleViewController._customListTableView.ReloadData(); middleViewController._customListTableView.ScrollToCellWithIdx(0, TableView.ScrollPositionType.Beginning, false); middleViewController.DidSelectRowEvent = (TableView view, int row) => { ulong clickedID = availableLobbies.Keys.ToArray()[row]; LobbyPacket info = SteamAPI.LobbyData[clickedID]; if (clickedID != 0 && availableLobbies.Values.ToArray()[row] && info.TotalSlots - info.UsedSlots > 0) { Scoreboard.Instance.UpsertScoreboardEntry(Controllers.PlayerController.Instance._playerInfo.playerId, Controllers.PlayerController.Instance._playerInfo.playerName); Instance.Dismiss(); MultiplayerLobby.Instance.Present(); SteamAPI.JoinLobby(new CSteamID(clickedID)); } }; if (refresh) { refresh.interactable = true; } }
// Token: 0x06000273 RID: 627 RVA: 0x0000484A File Offset: 0x0000384A public virtual void FillLobbyPacket(LobbyPacket lobbyPacket) { InternalLobby._EASharpBinding_247(this.mSelf, object.ReferenceEquals(lobbyPacket, null) ? null : lobbyPacket._GetRaw()); }