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)); }
public async Task <PhaseResult <string> > TargetSelection(SkillSelectionPhase phase, int skillId) { var __phase = new TargetSelectionPhase(phase, skillId); return(await HandlePhaseFlowAsync(() => _logic.DoTargetSelectionAsync(__phase, this))); }