using WarmlyLocomotive.DrawningObjects; namespace WarmlyLocomotive.MovementStrategy { internal class DrawningObjectCar : IMoveableObject { private readonly DrawningWarmlyLocomotive? _drawningWarmlyLocomotive = null; public DrawningObjectCar(DrawningWarmlyLocomotive drawningCar) { _drawningWarmlyLocomotive = drawningCar; } public ObjectParameters? GetObjectPosition { get { if (_drawningWarmlyLocomotive == null || _drawningWarmlyLocomotive.EntityWarmlyLocomotive == null) { return null; } return new ObjectParameters(_drawningWarmlyLocomotive.GetPosX, _drawningWarmlyLocomotive.GetPosY, _drawningWarmlyLocomotive.GetWidth, _drawningWarmlyLocomotive.GetHeight); } } public int GetStep => (int)(_drawningWarmlyLocomotive?.EntityWarmlyLocomotive?.Step ?? 0); public bool CheckCanMove(Direction direction) => _drawningWarmlyLocomotive?.CanMove(direction) ?? false; public void MoveObject(Direction direction) => _drawningWarmlyLocomotive?.MoveTransport(direction); } }