You are on page 1of 2

#region Using Directives

using RobotHardware;

#endregion
namespace RumbaMumbaRobots.Robot
{
/// <summary>
///This is a concrete implementation of IHardwareRobotMovement. It uses
IHardwareRobotDiection which will be injected into
/// it using contractor injection. It has a dependency on
IHardwareRobotDirection
/// </summary>
public class HardwareRobotMovement : IHardwareRobotMovement
{
#region Private Variables

/// <summary>
///
/// </summary>
private readonly IHardwareRobot _hardwareRobot;

#endregion

#region Class Constuctors

/// <summary>
///
/// </summary>
/// <param name="hardwareRobot"> </param>
public HardwareRobotMovement( IHardwareRobot hardwareRobot)
{
_hardwareRobot = hardwareRobot;
}

#endregion

#region Public Properties

/// <summary>
///
/// </summary>
public int X { get { return _hardwareRobot.X; } }
/// <summary>
///
/// </summary>
public int Y { get { return _hardwareRobot.Y; } }
/// <summary>
///
/// </summary>
public int FaceTo { get { return _hardwareRobot.FaceTo; } }
/// <summary>
///
/// </summary>
public int TotalMovements { get { return _hardwareRobot.TotalMovements; } }

#endregion

#region Methods Implementations


/// <summary>
///
/// </summary>
public void Walk()
{
_hardwareRobot.Walk();
}
/// <summary>
///
/// </summary>
public void Reset()
{
_hardwareRobot.Reset();
}

#endregion
}
}

You might also like