// Token: 0x06000329 RID: 809 RVA: 0x0000FA9C File Offset: 0x0000DC9C
    protected void DoOnConnected()
    {
        base.gameObject.SetActive(!this.disableWhenConnected);
        global::dfControl component = base.gameObject.GetComponent <global::dfControl>();

        if (component)
        {
            if (this.disableWhenConnected)
            {
                component.Hide();
            }
            else
            {
                component.Show();
            }
        }
    }
예제 #2
0
    // Token: 0x0600293A RID: 10554 RVA: 0x00097558 File Offset: 0x00095758
    public void UpdateServerList()
    {
        this.needsServerListUpdate = false;
        int num = this.GetMaxServers();

        num = Math.Min(this.servers[this.serverType].Count, num);
        int num2 = this.pageNumber * num;

        if (this.servers[this.serverType].Count == 0)
        {
            return;
        }
        if (num2 < 0)
        {
            return;
        }
        if (num2 > this.servers[this.serverType].Count)
        {
            return;
        }
        int iPages = (int)Mathf.Ceil((float)this.servers[this.serverType].Count / (float)num);

        if (this.serverType == 4)
        {
            this.servers[this.serverType].Sort((global::ServerBrowser.Server x, global::ServerBrowser.Server y) => (x.lastplayed == y.lastplayed) ? string.Compare(x.name, y.name) : y.lastplayed.CompareTo(x.lastplayed));
        }
        else
        {
            if (this.orderType == 0)
            {
                this.servers[this.serverType].Sort((global::ServerBrowser.Server x, global::ServerBrowser.Server y) => (x.fave == y.fave) ? string.Compare(x.name, y.name) : y.fave.CompareTo(x.fave));
            }
            if (this.orderType == 1)
            {
                this.servers[this.serverType].Sort((global::ServerBrowser.Server x, global::ServerBrowser.Server y) => (x.fave == y.fave) ? ((x.currentplayers == y.currentplayers) ? string.Compare(x.name, y.name) : y.currentplayers.CompareTo(x.currentplayers)) : y.fave.CompareTo(x.fave));
            }
            if (this.orderType == 2)
            {
                this.servers[this.serverType].Sort((global::ServerBrowser.Server x, global::ServerBrowser.Server y) => (x.fave == y.fave) ? ((x.ping == y.ping) ? string.Compare(x.name, y.name) : x.ping.CompareTo(y.ping)) : y.fave.CompareTo(x.fave));
            }
        }
        if (num2 + num > this.servers[this.serverType].Count)
        {
            num = this.servers[this.serverType].Count - num2;
        }
        List <global::ServerBrowser.Server> range = this.servers[this.serverType].GetRange(num2, num);

        this.pagination.Setup(iPages, this.pageNumber);
        string text = string.Empty;

        foreach (global::ServerBrowser.Server server in range)
        {
            text += server.address;
        }
        if (text == this.currentServerChecksum)
        {
            return;
        }
        this.ClearServers();
        Vector3 position;

        position..ctor(0f, 0f, 0f);
        this.currentServerChecksum = text;
        bool flag = false;

        foreach (global::ServerBrowser.Server server2 in range)
        {
            global::ServerBrowser.Server server3 = server2;
            if (flag && !server2.fave)
            {
                position.y -= 2f;
            }
            flag = server2.fave;
            GameObject gameObject = this.NewServerItem();
            gameObject.GetComponent <global::ServerItem>().Init(ref server3);
            global::dfControl component = gameObject.GetComponent <global::dfControl>();
            component.Width    = this.serverContainer.Width;
            component.Position = position;
            component.Show();
            position.y -= 34f;
        }
        this.serverContainer.Invalidate();
    }