Esempio n. 1
0
 public abstract Task <PhaseResult <string> > DoPhase2Async(PhaseContext2 context, IBattlePhases handler);
Esempio n. 2
0
        public override async Task <PhaseResult <string> > DoPhase1Async(PhaseContext1 context, IBattlePhases processor)
        {
            Console.Write($"{context.X} + {context.Y} + Z >");
            var input = Console.ReadLine();

            if (input == "cancel" || input is null)
            {
                return(new Cancelled <string>());
            }

            return(await processor.HandlePhase2Async(context, int.Parse(input)));
        }
Esempio n. 3
0
        public async Task <PhaseResult <string> > DoSkillSelectionAsync(SkillSelectionPhase phase, IBattlePhases handler)
        {
            Console.Write($"アクター{phase.ActorId}の行動 >");
            var input = Console.ReadLine();

            if (input == "cancel" || input == null)
            {
                return(new Cancelled <string>());
            }

            return(await handler.TargetSelection(phase, int.Parse(input)));
        }
Esempio n. 4
0
        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}"));
        }
Esempio n. 5
0
        public async Task <PhaseResult <string> > DoTargetSelectionAsync(TargetSelectionPhase phase, IBattlePhases handler)
        {
            Console.Write($"ターゲットを選択 >");
            var input = Console.ReadLine();

            if (input == "cancel" || input == null)
            {
                return(new Cancelled <string>());
            }

            var targetId = int.Parse(input);
            var result   = $"{phase.ActorId} は {targetId} に {phase.SkillId} を使った";

            return(new Finished <string>(result));
        }