コード例 #1
0
        private void OnStepCompleteMessage(StepCompleteMessage msg)
        {
            if (_autoStepOver)
            {
                if (_multiChannel)
                {
                    OnStepCompleteMessageMultiChannel(msg);
                }
                else
                {
                    Task.Run(async() =>
                    {
                        await Task.Delay(50);

                        StepViewModel newSelection = GetNextStep();

                        if (newSelection != null)
                        {
                            DispatcherHelperEx.CheckBeginInvokeOnUI(() => Selected = newSelection);
                        }
                        //if (newSelection != null) Selected = newSelection;
                    });
                }
            }
        }
コード例 #2
0
        private void OnStepCompleteMessageMultiChannel(StepCompleteMessage msg)
        {
            Task.Run(async() =>
            {
                await Task.Delay(50);

                if (msg.Channel > 0)
                {
                    var step = GetNextStep(msg.Channel, msg.Index);

                    if (_channelState.AddOrUpdate(msg.Channel, step != null, (k, v) => step != null))
                    {
                        step.UpdateLazys();
                        step.ExecuteFarward();
                    }
                    else
                    {
                        if (_channelFreeBackNotifyId.TryRemove(msg.Channel, out int id))
                        {
                            MessengerInstance.Send(new MeVmMG.BackNotificationMessage()
                            {
                                DestinationId = id
                            });
                        }
                    }
                }
                else
                {
                    StepViewModel newSelection = GetNextStep();

                    if (newSelection != null)
                    {
                        DispatcherHelperEx.CheckBeginInvokeOnUI(() => Selected = newSelection);
                    }
                }
            });
        }