41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
using System;
|
|
|
|
namespace Tello_Drone
|
|
{
|
|
public class ConsoleClient
|
|
{
|
|
|
|
private readonly IMissionList _missionList;
|
|
private readonly IConsoleLogger _consoleLogger;
|
|
private readonly IMissionCommander _missionCommander;
|
|
|
|
public ConsoleClient(IMissionList missionList, IConsoleLogger consoleLogger, IMissionCommander missionCommander)
|
|
{
|
|
_missionCommander = missionCommander;
|
|
_missionList = missionList;
|
|
_consoleLogger = consoleLogger;
|
|
}
|
|
|
|
public void Run()
|
|
{
|
|
while (true)
|
|
{
|
|
_consoleLogger.Log("Choose a mission to run.");
|
|
for (int x = 0; x < _missionList.GetMissionList().Count; x++)
|
|
{
|
|
var currentMission = _missionList.GetMissionList()[x];
|
|
_consoleLogger.Log($"{x+1}: {currentMission.Item1}");
|
|
}
|
|
|
|
|
|
var userInput = Convert.ToInt16(Console.ReadLine());
|
|
_missionCommander.RunMission(_missionList.GetMissionList()[userInput-1].Item2);
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|