示例#1
0
        protected override void OnWindowGUIAfterContent()
        {
            // label with status
            string strStatus = "Disconnected";

            if (NetStatus.IsClientConnecting())
            {
                strStatus = "Connecting.";
                for (int i = 0; i < ((int)Time.realtimeSinceStartup) % 3; i++)
                {
                    strStatus += ".";
                }
            }
            else if (NetStatus.IsClientConnected())
            {
                strStatus = "Connected";
            }
            GUILayout.Label("Status: " + strStatus);

            // button for connecting/disconnecting/refreshing

            string buttonText = "Connect";

            System.Action buttonAction = this.ConnectDirectly;
            if (NetStatus.IsClientConnecting())
            {
                buttonText   = "Disconnect";
                buttonAction = this.Disconnect;
            }
            else if (NetStatus.IsClientConnected())
            {
                GUI.enabled  = false;
                buttonText   = "Connected";
                buttonAction = () => {};
            }
            else
            {
                if (LanTabIndex == m_currentTabIndex)
                {
                    GUI.enabled  = !m_netDiscoveryHUD.IsRefreshing;
                    buttonText   = m_netDiscoveryHUD.IsRefreshing ? ("Refreshing." + new string('.', (int)((Time.time * 2) % 3))) : "Refresh LAN";
                    buttonAction = () => m_netDiscoveryHUD.Refresh();
                }
                else if (InternetTabIndex == m_currentTabIndex)
                {
                    GUI.enabled  = !_isRefreshingMasterServerList;
                    buttonText   = _isRefreshingMasterServerList ? ("Refreshing." + new string('.', (int)((Time.time * 2) % 3))) : "Refresh servers";
                    buttonAction = async() => await RefreshMasterServersButtonPressed();
                }
            }

            if (GUIUtils.ButtonWithCalculatedSize(buttonText, 80, 30))
            {
                buttonAction();
            }

            GUI.enabled = true;
        }
        protected override void OnWindowGUI()
        {
            GUILayout.Label("IP:");
            m_ipStr = GUILayout.TextField(m_ipStr, GUILayout.Width(200));

            GUILayout.Label("Port:");
            m_portStr = GUILayout.TextField(m_portStr, GUILayout.Width(100));

            GUILayout.Space(40);

            // label with status
            string strStatus = "Disconnected";

            if (NetStatus.IsClientConnecting())
            {
                strStatus = "Connecting.";
                for (int i = 0; i < ((int)Time.realtimeSinceStartup) % 3; i++)
                {
                    strStatus += ".";
                }
            }
            else if (NetStatus.IsClientConnected())
            {
                strStatus = "Connected";
            }
            GUILayout.Label("Status: " + strStatus);

            // button for connecting/disconnecting

            string buttonText = "Connect";

            System.Action buttonAction = this.Connect;
            if (NetStatus.IsClientConnecting())
            {
                buttonText   = "Disconnect";
                buttonAction = this.Disconnect;
            }
            else if (NetStatus.IsClientConnected())
            {
                GUI.enabled  = false;
                buttonText   = "Connected";
                buttonAction = () => {};
            }

            if (GUILayout.Button(buttonText, GUILayout.MinWidth(80), GUILayout.Height(30), GUILayout.ExpandWidth(false)))
            {
                buttonAction();
            }
        }
示例#3
0
        protected override void OnWindowGUIAfterContent()
        {
            GUILayout.Space(40);

            // label with status
            string strStatus = "Disconnected";

            if (NetStatus.IsClientConnecting())
            {
                strStatus = "Connecting.";
                for (int i = 0; i < ((int)Time.realtimeSinceStartup) % 3; i++)
                {
                    strStatus += ".";
                }
            }
            else if (NetStatus.IsClientConnected())
            {
                strStatus = "Connected";
            }
            GUILayout.Label("Status: " + strStatus);

            // button for connecting/disconnecting

            string buttonText = "Connect";

            System.Action buttonAction = this.Connect;
            if (NetStatus.IsClientConnecting())
            {
                buttonText   = "Disconnect";
                buttonAction = this.Disconnect;
            }
            else if (NetStatus.IsClientConnected())
            {
                GUI.enabled  = false;
                buttonText   = "Connected";
                buttonAction = () => {};
            }

            if (GUIUtils.ButtonWithCalculatedSize(buttonText, 80, 30))
            {
                buttonAction();
            }
        }