diff --git a/ProjectDumpTruck/ProjectDumpTruck/DrawningDumpTrack.cs b/ProjectDumpTruck/ProjectDumpTruck/DrawningDumpTrack.cs index 8cf47ab..a3a8472 100644 --- a/ProjectDumpTruck/ProjectDumpTruck/DrawningDumpTrack.cs +++ b/ProjectDumpTruck/ProjectDumpTruck/DrawningDumpTrack.cs @@ -40,6 +40,8 @@ public class DrawningDumpTrack /// private readonly int _drawningDumpTrackHeight = 90; + + /// /// Инициализация свойств /// @@ -50,16 +52,20 @@ public class DrawningDumpTrack /// Признак наличия кузова /// Признак наличия тента + public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool bodywork, bool awning) { EntityDumpTruck = new EntityDumpTruck(); - EntityDumpTruck.Init(speed, weight, bodyColor, additionalColor, bodywork, awning); + EntityDumpTruck.Init(speed, weight, bodyColor, additionalColor, bodywork, awning); _pictureWidth = null; _pictureHeight = null; _startPosX = null; _startPosY = null; } + + + /// /// Установка границ поля /// @@ -70,14 +76,11 @@ public class DrawningDumpTrack { // TODO проверка, что объект "влезает" в размеры поля // если влезает, сохраняем границы и корректируем позицию объекта, если она была уже установлена - if (_drawningDumpTrackWidth > width) + if (_drawningDumpTrackWidth > width || _drawningDumpTrackHeight > height) { - width += _drawningDumpTrackWidth-width; - } - if (_drawningDumpTrackHeight > height) - { - height += _drawningDumpTrackHeight-height; + return false; } + _pictureWidth = width; _pictureHeight = height; return true; @@ -96,7 +99,7 @@ public class DrawningDumpTrack } // TODO если при установке объекта в эти координаты, он будет "выходить" за границы формы // то надо изменить координаты, чтобы он оставался в этих границах - if (x + _drawningDumpTrackWidth > _pictureWidth) + if (x + _drawningDumpTrackWidth > _pictureWidth ) { x -= _drawningDumpTrackWidth - (int)_pictureWidth; } @@ -104,8 +107,19 @@ public class DrawningDumpTrack { y -= _drawningDumpTrackHeight - (int)_pictureHeight; } + if (x < 0) + { + x = 0; + } + if (y < 0) + { + y = 0; + } + _startPosX = x; _startPosY = y; + + } /// /// Изменение направления перемещения @@ -201,231 +215,7 @@ public class DrawningDumpTrack g.FillRectangle(border, _startPosX.Value+30, _startPosY.Value, 3, 40); g.FillRectangle(border, _startPosX.Value+70, _startPosY.Value, 3, 40); } - - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - } diff --git a/ProjectDumpTruck/ProjectDumpTruck/EntityDumpTruck.cs b/ProjectDumpTruck/ProjectDumpTruck/EntityDumpTruck.cs index f2794fb..7a6cbfb 100644 --- a/ProjectDumpTruck/ProjectDumpTruck/EntityDumpTruck.cs +++ b/ProjectDumpTruck/ProjectDumpTruck/EntityDumpTruck.cs @@ -60,6 +60,9 @@ public class EntityDumpTruck Awning = awning; } - - + } + + + + diff --git a/ProjectDumpTruck/ProjectDumpTruck/FormTransport.cs b/ProjectDumpTruck/ProjectDumpTruck/FormTransport.cs index 2aabf3f..560f2ab 100644 --- a/ProjectDumpTruck/ProjectDumpTruck/FormTransport.cs +++ b/ProjectDumpTruck/ProjectDumpTruck/FormTransport.cs @@ -52,7 +52,8 @@ namespace ProjectDumpTruck Draw(); } - + + /// /// Перемещение объекта по форме (нажатие кнопок навигации) /// diff --git a/ProjectDumpTruck/ProjectDumpTruck/Program.cs b/ProjectDumpTruck/ProjectDumpTruck/Program.cs index b5d5161..9539384 100644 --- a/ProjectDumpTruck/ProjectDumpTruck/Program.cs +++ b/ProjectDumpTruck/ProjectDumpTruck/Program.cs @@ -12,6 +12,7 @@ namespace ProjectDumpTruck // see https://aka.ms/applicationconfiguration. ApplicationConfiguration.Initialize(); Application.Run(new FormTransport()); + } } } \ No newline at end of file