Exemple #1
0
    void AddServer(string hostname)
    {
        for (int i = 0; i < m_Servers.Count; ++i)
        {
            var s = m_Servers[i];
            if (s.hostname == hostname)
            {
                // If already here, just select it
                SetSelectedServer(i);
                return;
            }
        }

        var server = new ServerListItemData();

        server.listItem = GameObject.Instantiate <ServerListEntry>(serverListEntryTemplate, servers.content);
        server.hostname = hostname;
        server.listItem.gameObject.SetActive(true);

        // Create a SQP query
        System.Net.IPAddress addr;
        int port;

        NetworkUtils.EndpointParse(server.hostname, out addr, out port, 0);
        // SQP Port is sqpPortOffset after whatever port we are using for the game itself
        port            = (port == 0 ? NetworkConfig.serverPort.IntValue : port) + NetworkConfig.sqpPortOffset;
        server.sqpQuery = Game.game.sqpClient.GetSQPQuery(new System.Net.IPEndPoint(addr, port));

        UpdateItem(server);
        m_Servers.Add(server);
        SetSelectedServer(m_Servers.Count - 1);
    }
Exemple #2
0
 void UpdateItem(ServerListItemData option)
 {
     option.listItem.hostName.text = option.hostname;
     if (option.sqpQuery.validResult)
     {
         var sid = option.sqpQuery.m_ServerInfo.ServerInfoData;
         option.listItem.serverName.text = sid.ServerName ?? "";
         option.listItem.gameMode.text   = sid.GameType ?? "";
         option.listItem.numPlayers.Format("{0}/{1}", (int)sid.CurrentPlayers, (int)sid.MaxPlayers);
         option.listItem.pingTime.Format("{0} ms", (int)option.sqpQuery.RTT);
         option.listItem.mapName.text = sid.Map ?? "";
     }
     else
     {
         option.listItem.serverName.text = "--";
         option.listItem.gameMode.text   = "--";
         option.listItem.numPlayers.text = "-/-";
         option.listItem.pingTime.text   = "--";
         option.listItem.mapName.text    = "--";
     }
 }
Exemple #3
0
 void SetListItemSelected(ServerListItemData data, bool selected)
 {
     //data.listItem.GetComponent<Image>().color = new Color(1.0f, 1.0f, 1.0f, selected ? 0.3f : 0.1f);
     data.listItem.GetComponent <UIFrame>().enabled = selected;
 }