setpos() fix

This commit is contained in:
Данил Лопатин 2024-04-01 14:05:54 +03:00
parent 373daa8bba
commit 67e35f5776

View File

@ -35,10 +35,6 @@ public class DrawningWarmlyLocomotive
/// <summary>
/// Инициализация свойств
/// </summary>
/// <param name="speed">Скорость</param>
/// <param name="weight">Вес</param>
/// <param name="bodyColor">Основной цвет</param>
/// <param name="additionalColor">Дополнительный цвет</param>
public void Init(int speed, double weight, Color bodyColor, Color
additionalColor, bool tube, bool fuelTank)
@ -54,9 +50,7 @@ public class DrawningWarmlyLocomotive
/// <summary>
/// Установка границ поля
/// </summary>
/// <param name="width">Ширина поля</param>
/// <param name="height">Высота поля</param>
/// <returns>true - границы заданы, false - проверка не пройдена, нельзя разместить объект в этих размерах</returns>
public bool SetPictureSize(int width, int height)
{
if (width >= _drawningLocomotiveWidth && height >= _drawningLocomotiveHeight) {
@ -70,8 +64,7 @@ public class DrawningWarmlyLocomotive
/// <summary>
/// Установка позиции
/// </summary>
/// <param name="x">Координата X</param>
/// <param name="y">Координата Y</param>
public void SetPosition(int x, int y)
{
if (!_pictureHeight.HasValue || !_pictureWidth.HasValue)
@ -81,7 +74,7 @@ public class DrawningWarmlyLocomotive
if ((y + _drawningLocomotiveHeight) > _pictureHeight)
{
_startPosY = y - _drawningLocomotiveHeight;
_startPosY = _pictureHeight - _drawningLocomotiveHeight;
}
else
{
@ -90,7 +83,7 @@ public class DrawningWarmlyLocomotive
if ((x + _drawningLocomotiveWidth) > _pictureWidth)
{
_startPosX = x - _drawningLocomotiveWidth;
_startPosX = _pictureWidth - _drawningLocomotiveWidth;
}
else
{
@ -101,12 +94,10 @@ public class DrawningWarmlyLocomotive
/// <summary>
/// Изменение направления перемещения
/// </summary>
/// <param name="direction">Направление</param>
/// <returns>true - перемещене выполнено, false - перемещение невозможно</returns>
public bool MoveTransport(DirectionType direction)
{
if (EntityWarmlyLocomotive == null || !_startPosX.HasValue ||
!_startPosY.HasValue)
if (EntityWarmlyLocomotive == null || !_startPosX.HasValue || !_startPosY.HasValue)
{
return false;
}
@ -147,11 +138,10 @@ public class DrawningWarmlyLocomotive
/// <summary>
/// Прорисовка объекта
/// </summary>
/// <param name="g"></param>
public void DrawTransport(Graphics g)
{
if (EntityWarmlyLocomotive == null || !_startPosX.HasValue ||
!_startPosY.HasValue)
if (EntityWarmlyLocomotive == null || !_startPosX.HasValue || !_startPosY.HasValue)
{
return;
}