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; - } +} /// /// Установка позиции