public override async Task <PhaseResult <string> > DoPhase2Async(PhaseContext2 context, IBattlePhases processor) { Console.Write("yes/no >"); if (Console.ReadLine() == "no") { return(new Cancelled <string>()); } var sum = context.X + context.Y + context.Z; return(new Finished <string>($"{context.X} + {context.Y} + {context.Z} = {sum}")); }
public abstract Task <PhaseResult <string> > DoPhase2Async(PhaseContext2 context, IBattlePhases handler);
public async Task <PhaseResult <string> > HandlePhase2Async(PhaseContext1 context, int z) { var phase = new PhaseContext2(context, z); return(await HandlePhaseFlowAsync(() => _logic.DoPhase2Async(phase, this))); }