public ControlInterface() { var registry = new Registry(); registry.IncludeRegistry <DependencyRegistry>(); var container = new Container(registry); _rController = container.GetInstance <IRoverController>(); }
public void Setup() { _compass = new Compass(); _planet = new Mars(); _navigation = new Navigation(_planet, _compass, new Coordinates() { X = 1, Y = 0 }, CardinalHeading.South); _rover = new Core.MarsRover(_navigation); _roverController = new MarsRoverController(5, _rover); }
public void AttachContoller(IRoverController controller) { if (controllerSession != null) { controllerSession.Dispose(); controllerSession = null; } if (controller != null) { controllerSession = controller.Subscribe(this); } }
private static void ReceiveCommands(IRoverController controller) { while (true) { var instruction = GetInput(); ICommand command = StringCommandParser(controller.Rover, instruction); if (command != null) { controller.AddCommand(command); } } }
public static IRoverController GetRoverController() { if (instance == null) { lock (locker) { if (instance == null) { instance = new RoverController(); } } } return(instance); }
public MainWindow() { resources = new ResourceSet(typeof(Resources).Assembly.GetManifestResourceStream("MarsRover.Properties.Resources.resources")); controller = new RoverController(worldSize); InitializeComponent(); timer.Interval = new TimeSpan(0, 0, 0, 0, 16); timer.Tick += Update; timer.Start(); CreateImageFields(controller.GetWorld()); Rover.Instance.image.Source = BitmapUtil.BitmapToImageSource(resources.GetObject("Curiousity2") as Bitmap); Rover.Instance.image.Width = 50; Rover.Instance.image.Height = 50; WorldMap.Children.Add(Rover.Instance.image); Canvas.SetTop(Rover.Instance.image, Rover.Instance.x * gridSize); Canvas.SetLeft(Rover.Instance.image, Rover.Instance.y * gridSize); Rover.Instance.image = Rover.Instance.image; KeyDown += Keyboard; }
public void Given(string startDirectionFacing) { Planet = Mef.Instance.GetPlanet(10); Controller = Mef.Instance.GetRoverController(Planet, startDirectionFacing); }
/// <summary> /// Rover takımına yeni bir rover ekler. /// </summary> /// <param name="rover">Eklenecek rover</param> public void AddRover(IRoverController rover) { _rovers.Add(rover); }
/// <summary> /// Plato üzerinde rover ı hareket ettirir. /// </summary> /// <param name="rover">Hareket ettirilcek rover.</param> public void ExecuteRover(IRoverController rover) { rover.ExecuteCommand(); }
public static void AttachTo(this IRoverController controller, Rover rover) { Contract.Requires(rover != null); rover.AttachContoller(controller); }
public RoverService(IRoverController controller) { _controller = controller; }