Exemplo n.º 1
0
        protected override void OnWindowGUI()
        {
            m_currentTabIndex = GUIUtils.TabsControl(m_currentTabIndex, m_tabNames);

            GUILayout.Space(20);

            if (DirectTabIndex == m_currentTabIndex)
            {
                GUILayout.Label("IP:");
                m_ipStr = GUILayout.TextField(m_ipStr, GUILayout.Width(200));

                GUILayout.Label("Port:");
                m_portStr = GUILayout.TextField(m_portStr, GUILayout.Width(100));
            }
            else if (LanTabIndex == m_currentTabIndex)
            {
                m_netDiscoveryHUD.width = (int)this.WindowSize.x - 30;
                m_netDiscoveryHUD.DisplayServers();
            }
            else if (InternetTabIndex == m_currentTabIndex)
            {
                int      availableWidth   = (int)this.WindowSize.x - 50;
                float[]  widthPercentages = new float[] { 0.35f, 0.25f, 0.4f };
                string[] columnNames      = new string[] { "Name", "Players", "IP" };

                // header
                GUILayout.BeginHorizontal();
                for (int i = 0; i < columnNames.Length; i++)
                {
                    GUILayout.Button(columnNames[i], GUILayout.Width(availableWidth * widthPercentages[i]));
                }
                GUILayout.EndHorizontal();

                _masterServerScrollViewPos = GUILayout.BeginScrollView(_masterServerScrollViewPos);

                foreach (ServerInfo info in _serversFromMasterServer)
                {
                    GUILayout.BeginHorizontal();

                    GUILayout.Label(info.Name, GUIUtils.CenteredLabelStyle, GUILayout.Width(availableWidth * widthPercentages[0]));

                    GUILayout.Label($"{info.NumPlayersOnline}/{info.MaxPlayers}", GUIUtils.CenteredLabelStyle, GUILayout.Width(availableWidth * widthPercentages[1]));

                    GUI.enabled = !NetStatus.IsClientActive();
                    if (GUILayout.Button($"{info.IP}:{info.Port}", GUILayout.Width(availableWidth * widthPercentages[2])))
                    {
                        ConnectToServerFromMasterServer(info);
                    }
                    GUI.enabled = true;

                    GUILayout.EndHorizontal();
                }

                GUILayout.EndScrollView();
            }
        }
Exemplo n.º 2
0
        protected override void OnWindowGUI()
        {
            m_currentTabIndex = GUIUtils.TabsControl(m_currentTabIndex, m_tabNames);

            GUILayout.Space(20);

            if (0 == m_currentTabIndex)
            {
                GUILayout.Label("IP:");
                m_ipStr = GUILayout.TextField(m_ipStr, GUILayout.Width(200));

                GUILayout.Label("Port:");
                m_portStr = GUILayout.TextField(m_portStr, GUILayout.Width(100));
            }
            else if (1 == m_currentTabIndex)
            {
                m_netDiscoveryHUD.width = (int)this.WindowSize.x - 30;
                m_netDiscoveryHUD.DisplayServers();
            }
        }