private void SoundMessageChangeRxEventHandler(SoundMessageChangeRx soundMessageChangeRx) { try { this.InvokeIfNeeded(() => { lw_QueueEvent.Items.Add(soundMessageChangeRx.SoundMessage.Name + " " + soundMessageChangeRx.StatusPlaying + "\n"); }); } catch (Exception ex) { Console.WriteLine(ex); } }
private bool _isEmptyQueueOld = true;//наличие элемента в очереди на ПРЕДЫДУЩЕМ шаге private void DefinitionStartStopQueueRxEventHandler(SoundMessageChangeRx soundMessageChangeRx) { switch (soundMessageChangeRx.StatusPlaying) { case StatusPlaying.Start: if (_isEmptyQueueOld) { QueueChangeRx.OnNext(StatusPlaying.Start); } break; case StatusPlaying.Stop: _isEmptyQueueOld = Queue.IsEmpty; if (_isEmptyQueueOld) { QueueChangeRx.OnNext(StatusPlaying.Stop); } break; } }