public DefaultQueuePopup(Queue queue) { InitializeComponent(); Queue = queue; queue.QueuePopped += Queue_QueuePopped; queue.QueuePopUpdated += Queue_QueuePopUpdated; queue.EnteredChampSelect += Queue_EnteredChampSelect; queue.QueueCancelled += Queue_QueueCancelled; }
private void Queue_QueuePopUpdated(object sender, Queue.QueuePopPlayerState[] e) { Dispatcher.Invoke(() => { ParticipantPanel.Children.Clear(); foreach (var state in e) { var border = new Border { Width = 16, Height = 20 }; border.BorderBrush = App.ForeBrush; border.BorderThickness = new Thickness(1); border.Margin = new Thickness(2, 0, 2, 0); switch (state) { case Queue.QueuePopPlayerState.None: border.Background = App.Back1Brush; break; case Queue.QueuePopPlayerState.Accepted: border.Background = App.ChatBrush; break; case Queue.QueuePopPlayerState.Declined: border.Background = App.AwayBrush; break; default: break; } ParticipantPanel.Children.Add(border); } }); }
private void Lobby_QueueEntered(object sender, QueueEventArgs e) { queueTimer.Start(); queue = e.Queue; Dispatcher.Invoke(() => { foreach (var control in PlayerList.Children) ((LobbyPlayer2) control).CanControl = false; QuitButton.Content = "Cancel"; StartButton.Visibility = Visibility.Collapsed; QueueTimeLabel.Visibility = Visibility.Visible; }); }
private void Lobby_QueueLeft(object sender, EventArgs e) { queueTimer.Cancel(); queue = null; Dispatcher.Invoke(() => { foreach (var control in PlayerList.Children) ((LobbyPlayer2) control).CanControl = lobby.IsCaptain; QuitButton.Content = "Quit"; QueueTimeLabel.Visibility = Visibility.Collapsed; StartButton.Visibility = lobby.IsCaptain ? Visibility.Visible : Visibility.Hidden; }); }
private async void PlayRanked(int button) { Close?.Invoke(this, new EventArgs()); switch (button) { case 0: try { var mmp = new MatchMakerParams { QueueIds = new[] { selected.ID } }; queue = await Queue.Create(mmp); queue.QueuePopped += Queue_QueuePopped; queue.QueueCancelled += Queue_QueueCancelled; SetInQueue(true); } catch { } break; case 1: //TODO Ranked Duo Lobby var lobby = QueueLobby.CreateLobby(selected.ID); LoLClient.QueueManager.JoinLobby(lobby); break; } }
public QueueEventArgs(Queue queue) { Queue = queue; }
protected virtual void OnQueueLeft() { queue = null; QueueLeft?.Invoke(this, new EventArgs()); }
protected virtual void OnQueueEntered(SearchingForMatchNotification searching) { try { queue = Queue.Create(searching); queue.QueueCancelled += (s, e) => OnQueueLeft(); QueueEntered?.Invoke(this, new QueueEventArgs(queue)); } catch (Exception x) { //TODO Queue Dodge and the like Session.ThrowException(x, "Trying to enter queue"); Dispose(); } }