diff --git a/ProjectAirFighter/ProjectAirFighter/DrawningAirFighter.cs b/ProjectAirFighter/ProjectAirFighter/DrawningAirFighter.cs index 08052d3..da348b8 100644 --- a/ProjectAirFighter/ProjectAirFighter/DrawningAirFighter.cs +++ b/ProjectAirFighter/ProjectAirFighter/DrawningAirFighter.cs @@ -70,13 +70,17 @@ public class DrawningAirFighter { // проверка, что объект "влезает" в размеры поля // если влезает, сохраняем границы и корректируем позицию объекта, если она была уже установлена - if (_drawningPlaneWidth <= width && _drawningPlaneHeight <= height) + if (_drawningPlaneWidth > width || _drawningPlaneHeight > height) return false; + if (_startPosX.HasValue && _startPosY.HasValue) { - _pictureWidth = width; - _pictureHeight = height; - return true; + if (_startPosX.Value < 0) { _startPosX = 0; } + if (_startPosX.Value + _drawningPlaneWidth > width) { _startPosX = width - _drawningPlaneWidth; } + if (_startPosY.Value < 0) { _startPosY = 0; } + if (_startPosY.Value + _drawningPlaneHeight > height) { _startPosY = height - _drawningPlaneHeight; } } - return false; + _pictureWidth = width; + _pictureHeight = height; + return true; } ///