public ServerEntryGump(ServerListEntry entry, byte font, ushort normal_hue, ushort selected_hue)
            {
                _entry = entry;

                _buttonId = entry.Index;

                Add(_serverName = new HoveredLabel(entry.Name, false, normal_hue, selected_hue, selected_hue, font: font)
                {
                    X = 74,
                    AcceptMouseInput = false
                });
                Add(_server_ping = new HoveredLabel("-", false, normal_hue, selected_hue, selected_hue, font: font)
                {
                    X = 250,
                    AcceptMouseInput = false
                });
                Add(_server_packet_loss = new HoveredLabel("-", false, normal_hue, selected_hue, selected_hue, font: font)
                {
                    X = 320,
                    AcceptMouseInput = false
                });


                AcceptMouseInput = true;
                Width            = 393;
                Height           = 25;

                WantUpdateSize = false;
            }
Exemple #2
0
        public void SetEntries(List <ServerListEntry> servers)
        {
            entries      = new TableEntry[servers.Count];
            usedEntries  = new TableEntry[servers.Count];
            this.servers = servers;
            int index = 0;

            for (int i = 0; i < servers.Count; i++)
            {
                ServerListEntry e          = servers[i];
                TableEntry      tableEntry = default(TableEntry);
                tableEntry.Hash      = e.Hash;
                tableEntry.Name      = e.Name;
                tableEntry.Players   = e.Players + "/" + e.MaxPlayers;
                tableEntry.Software  = e.Software;
                tableEntry.Uptime    = MakeUptime(e.Uptime);
                tableEntry.RawUptime = e.Uptime;
                tableEntry.Featured  = e.Featured;

                entries[index]     = tableEntry;
                usedEntries[index] = tableEntry;
                index++;
            }
            Count = entries.Length;
        }
        public ServerListPacket(PacketReader reader)
            : base(0xA8, "Server List")
        {
            _flags = reader.ReadByte();
            var count = (ushort)reader.ReadInt16();

            _servers = new ServerListEntry[count];
            for (var i = 0; i < count; i++)
            {
                _servers[i] = new ServerListEntry(reader);
            }
        }
Exemple #4
0
        public ServerListPacket(PacketReader reader)
            : base(0xA8, "Server List")
        {
            _flags = reader.ReadByte();
            ushort count = (ushort)reader.ReadInt16();

            _servers = new ServerListEntry[count];

            for (ushort i = 0; i < count; i++)
            {
                _servers[i] = new ServerListEntry(reader); ;
            }
        }
Exemple #5
0
            public ServerEntryGump(ServerListEntry entry)
            {
                _buttonId = entry.Index;

                Add(_serverName = new HoveredLabel($"{entry.Name}     -      -", false, NORMAL_COLOR, SELECTED_COLOR, NORMAL_COLOR, font: 5));
                _serverName.X   = 74;
                _serverName.Y   = 250;

                AcceptMouseInput = true;
                Width            = 393;
                Height           = 25;

                WantUpdateSize = false;
            }
 public ServerEntryGump(ServerListEntry entry)
 {
     _buttonId        = entry.Index;
     _labelName       = CreateRenderedText(entry.Name);
     _labelPing       = CreateRenderedText("-");
     _labelPacketLoss = CreateRenderedText("-");
     _labelName.CreateTexture();
     _labelPing.CreateTexture();
     _labelPacketLoss.CreateTexture();
     AcceptMouseInput = true;
     Width            = 393;
     Height           = new[] { _labelName.Height, _labelPing.Height, _labelPacketLoss.Height }.Max() + 10;
     X = 0;
     Y = 0;
 }
Exemple #7
0
 private void HandleReport(byte[] data, int length)
 {
     using (MessageReader mr = new MessageReader(data))
     {
         string serverID    = mr.Read <string>();
         int    clientID    = mr.Read <int>();
         byte[] reportBytes = mr.Read <byte[]>();
         lock (servers)
         {
             if (!servers.ContainsKey(clientID))
             {
                 servers.Add(clientID, new ServerListEntry());
             }
             ServerListEntry sle = servers[clientID];
             sle.FromBytes(reportBytes);
         }
         Console.WriteLine("Server " + serverID + ":" + clientID + " reported new state");
     }
 }
Exemple #8
0
 private void HandleConnect(byte[] data, int length)
 {
     using (MessageReader mr = new MessageReader(data))
     {
         string serverID      = mr.Read <string>();
         int    clientID      = mr.Read <int>();
         string remoteAddress = mr.Read <string>();
         int    remotePort    = mr.Read <int>();
         lock (servers)
         {
             if (!servers.ContainsKey(clientID))
             {
                 servers.Add(clientID, new ServerListEntry());
             }
             ServerListEntry sle = servers[clientID];
             sle.gameAddress = remoteAddress;
         }
         Console.WriteLine("Server " + serverID + ":" + clientID + " connected from " + remoteAddress + " port " + remotePort);
     }
 }
            public ServerEntryGump(ServerListEntry entry)
            {
                _buttonId        = entry.Index;
                _labelName       = CreateRenderedText(entry.Name);
                _labelPing       = CreateRenderedText("-");
                _labelPacketLoss = CreateRenderedText("-");
                _labelName.CreateTexture();
                _labelPing.CreateTexture();
                _labelPacketLoss.CreateTexture();
                AcceptMouseInput = true;
                Width            = 393;
                Height           = 25;

                //Height = new[]
                //{
                //    _labelName.Height, _labelPing.Height, _labelPacketLoss.Height
                //}.Max();


                WantUpdateSize = false;
            }
Exemple #10
0
    void Refresh()
    {
        NetworkManager networkManager = NetworkManager.instance;

        HostData[] serverList = networkManager.serverList;

        Clear();

        Debug.Log("[ServerListDisplayer] Refresh");

        int current = 0;

        foreach (HostData server in serverList)
        {
            ServerListEntry entry = Instantiate(entryPrefab);

            entry.Initalize(server);
            entry.transform.SetParent(transform);
            entry.SetColor(current % 2 == 0 ? colorEven : colorOdd);

            current++;
        }
    }