diff --git a/Catamaran/DrawingObjectBoat.cs b/Catamaran/DrawingObjectBoat.cs index 6904f4c..3bfacb9 100644 --- a/Catamaran/DrawingObjectBoat.cs +++ b/Catamaran/DrawingObjectBoat.cs @@ -20,6 +20,35 @@ namespace Catamaran { return _catamaran?.GetCurrentPosition() ?? default; } + + public bool Equals(IDrawingObject ? other) + { + if (other == null) + { + return false; + } + var otherCar = other as DrawingObjectBoat; + if (otherCar == null) + { + return false; + } + var car = _car.Car; + var otherCarCar = otherCar._car.Car; + if (car.Speed != otherCarCar.Speed) + { + return false; + } + if (car.Weight != otherCarCar.Weight) + { + return false; + } + if (car.BodyColor != otherCarCar.BodyColor) + { + return false; + } + // TODO доделать проверки в случае продвинутого объекта + return true; + } public void MoveObject(Direction direction) { _catamaran?.MoveTransport(direction); diff --git a/Catamaran/IDrawingObject.cs b/Catamaran/IDrawingObject.cs index 2c54719..c04dbb4 100644 --- a/Catamaran/IDrawingObject.cs +++ b/Catamaran/IDrawingObject.cs @@ -7,7 +7,7 @@ using System.Threading.Tasks; namespace Catamaran { - internal interface IDrawingObject + internal interface IDrawingObject : IEquatable { /// /// Шаг перемещения объекта