コード例 #1
0
        private void QuickHost(string mode, bool isranked)
        {
            var ran = new Random();
            var form = new Host(false)
            {
                CardRules = { Text = Program.Config.CardRules },
                Mode = { Text = mode },
                Priority = { Checked = Program.Config.EnablePrority },
                CheckDeck = { Checked = Program.Config.DisableCheckDeck },
                ShuffleDeck = { Checked = Program.Config.DisableShuffleDeck },
                LifePoints = { Text = Program.Config.Lifepoints },
                GameName = LauncherHelper.GenerateString().Substring(0, 5),
                BanList = { SelectedItem = Program.Config.BanList },
                TimeLimit = { SelectedItem = Program.Config.TimeLimit }
            };

            ListBox list = (isranked) ? RankedList : UnrankedList;

            if (isranked)
            {
                form.BanList.SelectedIndex = 0;
                form.CheckDeck.Checked = false;
                form.ShuffleDeck.Checked = false;
                form.Priority.Checked = false;
                form.CardRules.SelectedIndex = 2;
                form.LifePoints.Text = form.Mode.Text == "Tag" ? "16000" : "8000";
            }
            else
            {
                if (Program.Config.Lifepoints != ((mode == "Tag") ? "16000" : "8000"))
                {
                    if (MessageBox.Show(Program.LanguageManager.Translation.GameLPChange, Program.LanguageManager.Translation.hostLifep, MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        form.LifePoints.Text = mode == "Tag" ? "16000" : "8000";

                    }
                }
            }

            RoomInfos userinfo = RoomInfos.FromName(form.GenerateURI(isranked));

            var matchedRooms = (from object room in list.Items where m_rooms.ContainsKey(room.ToString()) select m_rooms[room.ToString()] into info where RoomInfos.CompareRoomInfo(userinfo, info) select info).ToList();
            string server = string.Empty;
            if (matchedRooms.Count > 0)
            {
                var selectroom = ran.Next(matchedRooms.Count);
                form.GameName = matchedRooms[selectroom].roomName;
                server = matchedRooms[selectroom].server;
            }

            if (string.IsNullOrEmpty(server))
            {
                LauncherHelper.GenerateConfig(GetServer(), form.GenerateURI(isranked));
                LauncherHelper.RunGame("-j");
            }
            else
            {
                LauncherHelper.GenerateConfig(Program.ServerList[server], form.GenerateURI(isranked));
                LauncherHelper.RunGame("-j");
            }

        }
コード例 #2
0
        private bool JoinQueue(bool isQuick=false)
        {
            
            var form = new Host(false);

            form.Mode.Items.Clear();
            form.HostBtn.Text = "Join Queue";
            form.Mode.Items.AddRange(new object[] { "Single", "Match"});
            form.Mode.SelectedItem = form.Mode.Items.Contains(Program.Config.Mode) ? Program.Config.Mode : "Match";               
            if (form.BanList.Items.Count > 0)
                form.BanList.SelectedIndex = 0;
            form.CardRules.SelectedIndexChanged += form.FormatChanged;
            form.BanList.Enabled = false;
            form.Priority.Enabled = false;
            form.ShuffleDeck.Enabled = false;
            form.CheckDeck.Enabled = false;
            form.LifePoints.Enabled = false;
            form.TimeLimit.Enabled = false;
            form.PasswordInput.Enabled = false;
            form.CardRules.Items.Clear();
            form.CardRules.Items.AddRange(new object[] { "TCG", "OCG" });
            form.CardRules.SelectedItem = form.CardRules.Items.Contains(Program.Config.CardRules) ? Program.Config.CardRules : "TCG";      

            if (isQuick || form.ShowDialog() == DialogResult.OK) 
            {
                QueueRequest request = new QueueRequest(form.CardRules.SelectedItem.ToString(), form.Mode.SelectedItem.ToString());

                Program.ChatServer.SendPacket(DevServerPackets.JoinQueue, JsonSerializer.SerializeToString(request));
                QueueLabel.Text = "Queue Status: searching";
                return true;
            }
            return false;
        }
コード例 #3
0
        private void RequestSettingsbtn_Click(object sender, EventArgs e)
        {
            var form = new Host
                {
                    Text = Program.LanguageManager.Translation.chatoptionsRequestFormText,
                    HostBtn = {Text = Program.LanguageManager.Translation.chatoptionsBtnSave},
                    ShuffleDeck = {Enabled = false},
                    CheckDeck = {Enabled = false},
                    Priority = {Enabled = true},
                    LifePoints = {Enabled = false}
                };
            form.Mode.Items.Remove("Tag");

            if(form.ShowDialog() == DialogResult.OK)
            {
                Program.Config.chtCardRules = form.CardRules.Text;
                Program.Config.chtMode = form.Mode.Text;
                Program.Config.chtEnablePrority = form.Priority.Checked;
                Program.Config.chtDisableCheckDeck = form.CheckDeck.Checked;
                Program.Config.chtDisableShuffleDeck = form.ShuffleDeck.Checked;
                Program.Config.chtLifepoints = form.LifePoints.Text;
                Program.Config.chtBanList = form.BanList.Text;
                Program.Config.chtTimeLimit = form.TimeLimit.Text;
                Program.Config.EnablePrerelease = form.Prerelease.Checked;
            }
        }
コード例 #4
0
        private void HostGame()
        {
            var form = new Host(false);

            if (form.ShowDialog() == DialogResult.OK)
            {
                if (m_rooms.ContainsKey(form.PasswordInput.Text))
                {
                    MessageBox.Show(Program.LanguageManager.Translation.GamePasswordExsists);
                    return;
                }
                if (Program.ServerList.Count == 0)
                {
                    MessageBox.Show(Program.LanguageManager.Translation.GameNoServers);
                    return;
                }

                LauncherHelper.GenerateConfig(GetServer(), form.GenerateURI(false));
                LauncherHelper.RunGame("-j");
                Program.ChatServer.SendPacket(DevServerPackets.HostDuel);
            }
        }
コード例 #5
0
        private void QuickSettingsBtn_Click(object sender, EventArgs e)
        {

            var form = new Host(false)
                {
                    Text = Program.LanguageManager.Translation.QuickHostSetting,
                    HostBtn = {Text = Program.LanguageManager.Translation.QuickHostBtn}
                };

            if (form.ShowDialog() == DialogResult.OK)
            {
                Program.Config.CardRules = form.CardRules.Text;
                Program.Config.Mode = form.Mode.Text;
                Program.Config.EnablePrority = form.Priority.Checked;
                Program.Config.DisableCheckDeck = form.CheckDeck.Checked;
                Program.Config.DisableShuffleDeck = form.ShuffleDeck.Checked;
                Program.Config.Lifepoints = form.LifePoints.Text;
                Program.Config.BanList = form.BanList.Text;
                Program.Config.TimeLimit = form.TimeLimit.Text;
                Program.Config.EnablePrerelease = form.Prerelease.Checked;
            }

        }
コード例 #6
0
ファイル: Chat_frm.cs プロジェクト: IrateGod/DevProLauncher
        private void RequestDuel(object sender, EventArgs e)
        {
            ListBox list = (UserListTabs.SelectedTab.Name == ChannelTab.Name ? ChannelList : UserList);
            if (list.SelectedItem == null)
            {
                return;
            }

            if ((list.SelectedItem is string ? list.SelectedItem.ToString() : ((UserData)list.SelectedItem).username) == Program.UserInfo.username)
            {
                WriteMessage(new ChatMessage(MessageType.System, CommandType.None, null, "You cannot duel request your self."));
            }
            else
            {
                var form = new Host();
                ServerInfo server = Program.MainForm.GameWindow.GetServer();
                if (server == null)
                {
                    MessageBox.Show("No Server Available.");
                    return;
                }

                Program.ChatServer.SendPacket(DevServerPackets.RequestDuel,
                    JsonSerializer.SerializeToString(
                    new DuelRequest
                        {
                            username = list.SelectedItem is string ? list.SelectedItem.ToString() : ((UserData)list.SelectedItem).username, 
                            duelformatstring = form.GenerateGameString(false),
                            server = server.serverName
                        }));
                WriteMessage(new ChatMessage(MessageType.System, CommandType.None, null, "Duel request sent to " + (list.SelectedItem is string ? list.SelectedItem.ToString() : ((UserData)list.SelectedItem).username) + "."));
            }
        }
コード例 #7
0
        private void HostGame(object sender, EventArgs e)
        {
            var button = (ToolStripMenuItem)sender;
            var form = new Host(false, (button.Name == "Ranked"));
            if (button.Name == "Ranked")
            {
                form.Mode.Items.Clear();
                form.Mode.Items.AddRange(new object[] { "Single", "Match", "Tag" });
                form.Mode.SelectedItem = "Match";
                if (form.BanList.Items.Count > 0)
                    form.BanList.SelectedIndex = 0;
                form.CardRules.SelectedIndexChanged += form.FormatChanged;
                form.BanList.Enabled = false;
                form.Priority.Enabled = false;
                form.ShuffleDeck.Enabled = false;
                form.CheckDeck.Enabled = false;
                form.LifePoints.Enabled = false;
                form.CardRules.Items.Clear();
                form.CardRules.Items.AddRange(new object[] { "TCG", "OCG" });
                form.CardRules.SelectedItem = "TCG";
            }

            if (form.ShowDialog() == DialogResult.OK)
            {

                if (m_rooms.ContainsKey(form.PasswordInput.Text))
                {
                    MessageBox.Show(Program.LanguageManager.Translation.GamePasswordExsists);
                    return;
                }
                if (Program.ServerList.Count == 0)
                {
                    MessageBox.Show(Program.LanguageManager.Translation.GameNoServers);
                    return;
                }

                LauncherHelper.GenerateConfig(GetServer(), form.GenerateURI((button.Name == "Ranked")));
                LauncherHelper.RunGame("-j");
            }
        }
コード例 #8
0
ファイル: Chat_frm.cs プロジェクト: rahulp959/DevProLauncher
        private void RequestDuel(object sender, EventArgs e)
        {
            ListBox list = (UserListTabs.SelectedTab.Name == OnlineTab.Name ? UserList : (UserListTabs.SelectedTab.Name == TeamTab.Name ? TeamList : FriendList));

            if (list.SelectedItem == null)
            {
                return;
            }

            if (list.SelectedItem.ToString() == Program.UserInfo.username)
            {
                WriteMessage(new ChatMessage(MessageType.System, CommandType.None, null, "You cannot duel request your self."));
            }
            else
            {
                var form = new Host();
                Program.ChatServer.SendPacket(DevServerPackets.RequestDuel,
                    JsonSerializer.SerializeToString(
                    new DuelRequest
                        {
                        username = list.SelectedItem.ToString(),
                        duelformatstring = form.GenerateGameString(false)}));
                WriteMessage(new ChatMessage(MessageType.System, CommandType.None, null, "Duel request sent to " + list.SelectedItem + "."));
            }
        }
コード例 #9
0
        private void HostGame()
        {
            var form = new Host(false);

            if (form.ShowDialog() == DialogResult.OK)
            {
                if (m_rooms.ContainsKey(form.PasswordInput.Text))
                {
                    MessageBox.Show(Program.LanguageManager.Translation.GamePasswordExsists);
                    return;
                }

                ServerInfo server = form.CardRules.Text == "2099" ? GetServer(Program.Config.Server2099) : GetServer(false);

                if (server != null)
                {
                    LauncherHelper.GenerateConfig(server, form.GenerateURI(false));
                    LauncherHelper.RunGame("-j");
                    Program.ChatServer.SendPacket(DevServerPackets.HostDuel);
                }
                else
                {
                    MessageBox.Show(Program.LanguageManager.Translation.GameNoServers);
                    return;
                }
            }
        }