Beispiel #1
0
        private void btn_create_lobby_Click(Object sender, EventArgs e)
        {
            Cursor = Cursors.WaitCursor;
            if (tb_lbpswd.Text == "")
            {
                MessageBox.Show("Fatal", "Password must be not empty.");
                Cursor = Cursors.Default;
                return;
            }

            if (cb_is_share_cookie.Checked)
            {
                if (File.ReadAllText("./login/bilibili.json") == "")
                {
                    MessageBox.Show("未找到登录的本地信息\n您还未登录bilibili,请回到主界面的登陆选项登录\n或取消共享登录状态的选项");
                    return;
                }
            }
            try {
                LobbyBorrower    lobbyBorrower      = new LobbyBorrower(Global.SelectedServer, tb_lobby_name.Text, tb_lbpswd.Text);
                UdpProtocolMaker protocolMaker      = new UdpProtocolMaker();
                string           responseFromLender = lobbyBorrower.Lend(
                    new YPM.Packager.ypmPackage("create_lobby", new string[] {
                    tb_lobby_name.Text,
                    tb_lbpswd.Text,
                    ddd_maxOffset.Items[ddd_maxOffset.SelectedIndex].ToString(),
                    Global.MyName,
                    tb_url.Text,
                    cb_is_share_cookie.Checked ? CookieHelper.GetLocalCookieString("./login/bilibili.json") : "no"
                }).ToString());
                switch (responseFromLender)
                {
                case "OK": {
                    MessageBox.Show("创建成功!");
                    InLobby inLobby = new InLobby(true, tb_lobby_name.Text, "", tb_url.Text, lobbyBorrower);
                    Close();
                    inLobby.ShowDialog();
                    break;
                }

                case "LOBBY_ALREADY_EXISTS": {
                    MessageBox.Show("错误", "已经有一个同样名字的房间存在,\n请使用其他名字重试。");
                    break;
                }

                default: {
                    MessageBox.Show("Lobby Lender", "Cannot lend lobby currently.");
                    break;
                }
                }
            } catch (Exception ex) {
                MessageBox.Show(ex.Message);
            }
            Cursor = Cursors.Default;
        }
Beispiel #2
0
 public InLobby(bool isHost, string lobbyName, string cookie, string videoUrl, LobbyBorrower borrower)
 {
     InitializeComponent();
     this.isHost      = isHost;
     this.lobbyName   = lobbyName;
     this.cookie      = cookie;
     this.videoUrl    = videoUrl;
     this.borrower    = borrower;
     Global.IsInLobby = true;
     bgw_viewers_syncer.RunWorkerAsync();
     Text = "房间:" + lobbyName;
     tb_video_url.Text = videoUrl;
 }