public void Add(JoinQueue item) { myItems.Add(item); }
internal void PingElapsed(object sender, ElapsedEventArgs e) { //TeambuilderCorrect(); Dispatcher.BeginInvoke(DispatcherPriority.Input, new ThreadStart(() => { var keys = new List<Button>(ButtonTimers.Keys); foreach (Button pair in keys) { ButtonTimers[pair]++; TimeSpan time = TimeSpan.FromSeconds(ButtonTimers[pair]); var realButton = (Button) pair.Tag; realButton.Content = string.Format("{0:D2}:{1:D2} Re-Click To Leave", time.Minutes, time.Seconds); } })); if (i++ < 10) //Ping every 10 seconds return; i = 0; if (!Client.IsOnPlayPage) return; Dispatcher.BeginInvoke(DispatcherPriority.Input, new ThreadStart(async () => { if (!RunOnce) { RunOnce = true; WaitingForQueues.Visibility = Visibility.Visible; for (int b = 0; b < 3; b++) { seperators[b] = new GameSeperator(QueueListView) { Height = 80 }; switch (b) { case 0: seperators[b].QueueLabel.Content = "Bot Queues"; seperators[b].Tag = "Bot"; break; case 1: seperators[b].QueueLabel.Content = "Normal Queues"; seperators[b].Tag = "Normal"; break; case 2: seperators[b].QueueLabel.Content = "Ranked Queues"; seperators[b].Tag = "Ranked"; break; } QueueListView.Items.Add(seperators[b]); } //Ping var bc = new BrushConverter(); Brush brush = null; try { double pingAverage = HighestPingTime(Client.Region.PingAddresses); PingLabel.Content = Math.Round(pingAverage) + "ms"; if (pingAverage == 0) PingLabel.Content = "Timeout"; if (pingAverage == -1) PingLabel.Content = "Ping not enabled for this region"; if (pingAverage > 999 || pingAverage < 1) brush = (Brush)bc.ConvertFrom("#FFFF6767"); if (pingAverage > 110 && pingAverage < 999) brush = (Brush)bc.ConvertFrom("#FFFFD667"); if (pingAverage < 110 && pingAverage > 1) brush = (Brush)bc.ConvertFrom("#FF67FF67"); } catch(NotImplementedException ex) { PingLabel.Content = "Ping not enabled for this region"; brush = (Brush)bc.ConvertFrom("#FFFF6767"); Client.Log(ex.Message); } catch(Exception ex) { PingLabel.Content = "Error occured while pinging"; brush = (Brush)bc.ConvertFrom("#FFFF6767"); Client.Log(ex.Message); } finally { PingRectangle.Fill = brush; } //Queues GameQueueConfig[] openQueues = Client.Queues; Array.Sort(openQueues, (config, config2) => string.Compare(config.CacheName, config2.CacheName, StringComparison.Ordinal)); foreach (GameQueueConfig config in openQueues) { QueueButtonConfig settings = new QueueButtonConfig(); settings.GameQueueConfig = config; if(config.CacheName.Contains("INTRO")) settings.BotLevel = "INTRO"; else if (config.CacheName.Contains("EASY") || config.Id == 25 || config.Id == 52) settings.BotLevel = "EASY"; else if (config.CacheName.Contains("MEDIUM")) settings.BotLevel = "MEDIUM"; var item = new JoinQueue { Height = 80, QueueButton = {Tag = settings} }; item.QueueButton.Click += QueueButton_Click; //item.QueueButton.IsEnabled = false; item.QueueButton.Content = "Queue (Beta)"; item.TeamQueueButton.Tag = settings; item.TeamQueueButton.Click += TeamQueueButton_Click; item.QueueLabel.Content = Client.InternalQueueToPretty(config.CacheName); item.QueueId = config.Id; QueueInfo t = await RiotCalls.GetQueueInformation(config.Id); item.AmountInQueueLabel.Content = "People in queue: " + t.QueueLength; TimeSpan time = TimeSpan.FromMilliseconds(t.WaitTime); string answer = string.Format("{0:D2}m:{1:D2}s", time.Minutes, time.Seconds); item.WaitTimeLabel.Content = "Avg Wait Time: " + answer; if (config.TypeString == "BOT" || config.TypeString == "BOT_3x3") seperators[0].Add(item); else if (config.TypeString.StartsWith("RANKED_")) seperators[2].Add(item); else seperators[1].Add(item); switch (Client.InternalQueueToPretty(config.CacheName)) { case "Teambuilder 5v5 Beta (In Dev. Do Not Play)": item.QueueButton.IsEnabled = false; //item.TeamQueueButton.IsEnabled = false; break; case "Ranked Team 5v5": item.QueueButton.IsEnabled = false; break; case "Ranked Team 3v3": item.QueueButton.IsEnabled = false; break; } if (item.QueueId == 25 || item.QueueId == 52) //TT and Dominion: easy and medium bots have the same QueueId { settings.BotLevel = "MEDIUM"; var item2 = new JoinQueue { Height = 80, QueueButton = { Tag = settings } }; item2.QueueButton.Click += QueueButton_Click; item2.QueueButton.Content = "Queue (Beta)"; item2.TeamQueueButton.Tag = settings; item2.TeamQueueButton.Click += TeamQueueButton_Click; item2.QueueId = config.Id; item2.QueueLabel.Content = item.QueueLabel.Content.ToString().Replace("Easy", "Medium"); item2.AmountInQueueLabel.Content = "People in queue: " + t.QueueLength; item2.WaitTimeLabel.Content = "Avg Wait Time: " + answer; seperators[0].Add(item2); if(!Client.Dev) item2.QueueButton.IsEnabled = false; } currentAmount++; if (currentAmount != openQueues.Length) continue; WaitingForQueues.Visibility = Visibility.Hidden; foreach (GameSeperator seperator in seperators) seperator.UpdateLabels(); DoneLoading = true; } } else if (seperators[seperators.Length - 1] != null) foreach (GameSeperator seperator in seperators) seperator.UpdateLabels(); })); }
private void TeambuilderCorrect() { JoinQueue item = new JoinQueue(); if (item.QueueLabel.Content == "matching-queue-GROUPFINDER-5x5-game-queue") { item.TeamQueueButton.Visibility = Visibility.Hidden; item.QueueButton.Visibility = Visibility.Hidden; item.QueueLabel.Content = "Team Builder"; item.AmountInQueueLabel.Visibility = Visibility.Hidden; item.WaitTimeLabel.Visibility = Visibility.Hidden; } }
internal void PingElapsed(object sender, ElapsedEventArgs e) { Dispatcher.BeginInvoke(DispatcherPriority.Input, new ThreadStart(() => { var keys = new List<Button>(ButtonTimers.Keys); foreach (Button pair in keys) { ButtonTimers[pair] = ButtonTimers[pair] + 1; TimeSpan time = TimeSpan.FromSeconds(ButtonTimers[pair]); Button realButton = (Button)pair.Tag; realButton.Content = string.Format("{0:D2}:{1:D2}", time.Minutes, time.Seconds); } })); if (i++ < 10) //Ping every 10 seconds return; i = 0; if (!Client.IsOnPlayPage) return; double PingAverage = HighestPingTime(Client.Region.PingAddresses); Dispatcher.BeginInvoke(DispatcherPriority.Input, new ThreadStart(async () => { //Ping PingLabel.Content = Math.Round(PingAverage).ToString() + "ms"; if (PingAverage == 0) { PingLabel.Content = "Timeout"; } if (PingAverage == -1) { PingLabel.Content = "Ping not enabled for this region"; } BrushConverter bc = new BrushConverter(); Brush brush = (Brush)bc.ConvertFrom("#FFFF6767"); if (PingAverage > 999 || PingAverage < 1) { PingRectangle.Fill = brush; } brush = (Brush)bc.ConvertFrom("#FFFFD667"); if (PingAverage > 110 && PingAverage < 999) { PingRectangle.Fill = brush; } brush = (Brush)bc.ConvertFrom("#FF67FF67"); if (PingAverage < 110 && PingAverage > 1) { PingRectangle.Fill = brush; } //Queues GameQueueConfig[] OpenQueues = await Client.PVPNet.GetAvailableQueues(); Array.Sort(OpenQueues, delegate(GameQueueConfig config, GameQueueConfig config2) { return config.CacheName.CompareTo(config2.CacheName); }); foreach (GameQueueConfig config in OpenQueues) { JoinQueue item = new JoinQueue(); if (configs.ContainsKey(config.Id)) { item = configs[config.Id]; } item.Height = 80; item.QueueButton.Tag = config; item.QueueButton.Click += QueueButton_Click; item.QueueLabel.Content = Client.InternalQueueToPretty(config.CacheName); QueueInfo t = await Client.PVPNet.GetQueueInformation(config.Id); item.AmountInQueueLabel.Content = "People in queue: " + t.QueueLength; TimeSpan time = TimeSpan.FromMilliseconds(t.WaitTime); string answer = string.Format("{0:D2}m:{1:D2}s", time.Minutes, time.Seconds); item.WaitTimeLabel.Content = "Avg Wait Time: " + answer; if (!configs.ContainsKey(config.Id)) { configs.Add(config.Id, item); QueueListView.Items.Add(item); } } })); }