Example #1
0
        public override IEnumerable <IResult> Execute()
        {
            bool retry = true;

            while (retry)
            {
                var warning = new Warning(Properties.Demo.LoremIpsum,
                                          Answer.Retry,
                                          Answer.Ignore,
                                          Answer.Abort);

                yield return(warning.AsResult()
                             .CancelOnResponse(Answer.Abort)
                             .WhenCancelled().Invoke(() => retry = false)
                             .WhenCancelled().Execute(new LogResult("Aborted").AsCoroutine));

                retry = warning.GivenResponse == Answer.Retry;

                yield return(LogResponse(warning));
            }
        }