Ejemplo n.º 1
0
        public void displayLANPanel()
        {
            LANPanel lanPanel = ui.NetworkingPageGroup.LANPanel;

            ui.NetworkingPageGroup.display(lanPanel);
            lanPanel.LoadingPanelImage.gameObject.SetActive(false);
            lanPanel.FlushRoomButton.onClick.set(() =>
            {
                flushLANRooms();
            });
            lanPanel.CreateRoomButtonButtonBlack.asButton.interactable = !host.RoomIsValid;
            lanPanel.CreateRoomButtonButtonBlack.asButton.onClick.set(() =>
            {
                lanPanel.LoadingPanelImage.gameObject.SetActive(true);
                createRoom();
            });
            lanPanel.ReturnBtnButtonBlack.asButton.onClick.AddListener(() =>
            {
                ui.parent.display(ui.parent.MainMenu);
            });
            lanPanel.ConnectButtonButtonBlack.asButton.onClick.set(() =>
            {
                int port       = _port;
                string address = "";
                var uri        = new Uri("http://" + lanPanel.IPInputField.text);

                if (uri.HostNameType == UriHostNameType.Dns)
                {
                    address = Dns.GetHostAddresses(uri.Host).FirstOrDefault(e => e.AddressFamily == AddressFamily.InterNetwork)?.ToString();
                }
                else
                {
                    address = uri.Host;
                }

                if (uri.Port != 80)
                {
                    port = uri.Port;
                }

                _ = joinRoom(new RoomInfo()
                {
                    ip   = address,
                    port = port
                });

                // getManager<UIManager>().getObject<Dialog>().display("输入的地址格式有误", null);
            });
            lanPanel.NameText.text = null;
            lanPanel.IPText.text   = null;
            lanPanel.DescText.text = null;
            if (host.RoomIsValid)
            {
                displayRoomPanel();
            }
            else
            {
                findLANRooms();
            }
        }
Ejemplo n.º 2
0
 private void refreshRoomListItem(RoomListItem item, RoomInfo obj)
 {
     item.RoomNameText.text = obj.ip + ":" + obj.port;
     item.asButton.onClick.set(() =>
     {
         LANPanel lanPanel = ui.NetworkingPageGroup.LANPanel;
         if (obj == null)
         {
             lanPanel.NameText.text = null;
             lanPanel.IPText.text   = null;
             lanPanel.DescText.text = null;
         }
         else
         {
             lanPanel.NameText.text = obj.id.ToString();
             lanPanel.IPText.text   = obj.ip;
             lanPanel.DescText.text = "描述";
         }
     });
     item.ButtonButtonBlack.asButton.onClick.set(() =>
     {
         _ = joinRoom(obj);
     });
 }