Exemple #1
0
    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;
        }
    }
Exemple #2
0
    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);
    }
Exemple #3
0
 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;
     }
 }
Exemple #4
0
 // 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());
 }