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 = "Đấu Với BOT"; seperators[b].Tag = "Bot"; break; case 1: seperators[b].QueueLabel.Content = "Đấu Thường"; seperators[b].Tag = "Normal"; break; case 2: seperators[b].QueueLabel.Content = "Đấu Xếp Hạng"; 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 = "Hỗ Trợ Http://facebook.com/duylee9x"; } 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 = "Hỗ Trợ Http://facebook.com/duylee9x"; brush = (Brush)bc.ConvertFrom("#FFFF6767"); Client.Log(ex.Message); } catch (Exception ex) { PingLabel.Content = "Lỗi không thể Check Ping"; 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(); } } })); }
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(); })); }