From 49a4f5fc8f288219726c84d5069e29012faa6528 Mon Sep 17 00:00:00 2001 From: VictoriaPresnyakova Date: Sun, 4 Dec 2022 15:00:24 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9C=D0=B5=D1=82=D0=BE=D0=B4=20Equals=20?= =?UTF-8?q?=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D0=B0=20DrawingObjectBoat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Catamaran/DrawingObjectBoat.cs | 29 +++++++++++++++++++++++++++++ Catamaran/IDrawingObject.cs | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) 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 { /// /// Шаг перемещения объекта