From 27c92012baaa1bc6f187f84da6a216aeba264439 Mon Sep 17 00:00:00 2001 From: MorozovDanil Date: Mon, 19 Feb 2024 12:10:34 +0400 Subject: [PATCH] =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=BB=D0=B0=D0=B1=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectContainerShip/DrawningContainerShip.cs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/ProjectContainerShip/ProjectContainerShip/DrawningContainerShip.cs b/ProjectContainerShip/ProjectContainerShip/DrawningContainerShip.cs index a903343..394acb2 100644 --- a/ProjectContainerShip/ProjectContainerShip/DrawningContainerShip.cs +++ b/ProjectContainerShip/ProjectContainerShip/DrawningContainerShip.cs @@ -70,16 +70,27 @@ public class DrawningContainerShip /// true - границы заданы, false - проверка не пройдена, нельзя разместить объект в этих размерах public bool SetPictureSize(int width, int height) { + // TODO проверка, что объект "влезает" в размеры поля if ((width < _drawningShipWidth) || (height < _drawningShipHeight)) { return false; } - // TODO проверка, что объект "влезает" в размеры поля // если влезает, сохраняем границы и корректируем позицию объекта, если она была уже установлена _pictureWidth = width; _pictureHeight = height; + + if (_startPosX.HasValue && (_startPosX.Value + _drawningShipWidth > _pictureWidth)) + { + _startPosX = _pictureWidth - _drawningShipWidth; + } + + if (_startPosY.HasValue && (_startPosY + _drawningShipHeight > _pictureHeight)) + { + _startPosY = _pictureHeight - _drawningShipHeight; + } + return true; - } +} /// /// Установка позиции