private async Task<Result> ReceiveStartCommands()
{
var commands = new List<IInputCommand>();
foreach (var trainer in Scene.Trainers)
{
var command = await InputProvider.GetInput(trainer.Id);
commands.Add(command);
}
// ReSharper disable once ConvertIfStatementToReturnStatement
if (!commands.All(command => command is BattleStartCommand))
{
return new InvalidOperationError("Failed to start battle because Start Commands were not received from all trainers.");
}
return Result.FromSuccess();
}
private async Task<Result> ReceiveStartCommands()
{
var commands = new List<IInputCommand>();
foreach (var trainer in Scene.Trainers)
{
var command = await InputProvider.GetInput(trainer.Id);
commands.Add(command);
}
// ReSharper disable once ConvertIfStatementToReturnStatement
if (!commands.All(command => command is BattleStartCommand))
{
return new InvalidOperationError("Failed to start battle because Start Commands were not received from all trainers.");
}
return Result.FromSuccess();
}