Закончил логику в SetPosition
This commit is contained in:
parent
9bf2ee06c2
commit
2c774e7f39
@ -81,56 +81,44 @@ public class DrawningAccordionBus
|
|||||||
public void SetPosition(int x, int y)
|
public void SetPosition(int x, int y)
|
||||||
{
|
{
|
||||||
if (!_pictureHeight.HasValue || !_pictureWidth.HasValue)
|
if (!_pictureHeight.HasValue || !_pictureWidth.HasValue)
|
||||||
{
|
|
||||||
return;
|
return;
|
||||||
}
|
if (x > 0 && y > 0 && x + _drawningAccordionBusWidth < _pictureWidth && y + _drawningAccordionBusHeight < _pictureHeight)
|
||||||
if (x > 0 && y > 0 && x+_drawningAccordionBusWidth < _pictureWidth && y+_drawningAccordionBusHeight < _pictureHeight)
|
|
||||||
{
|
{
|
||||||
_startPosX = x;
|
_startPosX = x;
|
||||||
_startPosY = y;
|
_startPosY = y;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_startPosX = _pictureWidth.Value-_drawningAccordionBusWidth;
|
Random rnd = new Random();
|
||||||
_startPosY = _pictureHeight.Value-_drawningAccordionBusHeight;
|
_startPosX = rnd.Next(0, _pictureWidth.Value - _drawningAccordionBusWidth);
|
||||||
|
_startPosY = rnd.Next(0, _pictureHeight.Value - _drawningAccordionBusHeight);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public bool MoveTransport(DirectionType direction)
|
public bool MoveTransport(DirectionType direction)
|
||||||
{
|
{
|
||||||
if (EntityAccordionBus == null || !_startPosX.HasValue ||
|
if (EntityAccordionBus == null || !_startPosX.HasValue || !_startPosY.HasValue)
|
||||||
!_startPosY.HasValue)
|
|
||||||
{
|
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
switch (direction)
|
switch (direction)
|
||||||
{
|
{
|
||||||
//влево
|
//влево
|
||||||
case DirectionType.Left:
|
case DirectionType.Left:
|
||||||
if (_startPosX.Value - EntityAccordionBus.Step > 0)
|
if (_startPosX.Value - EntityAccordionBus.Step > 0)
|
||||||
{
|
|
||||||
_startPosX -= (int)EntityAccordionBus.Step;
|
_startPosX -= (int)EntityAccordionBus.Step;
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
//вверх
|
//вверх
|
||||||
case DirectionType.Up:
|
case DirectionType.Up:
|
||||||
if (_startPosY.Value - EntityAccordionBus.Step > 0)
|
if (_startPosY.Value - EntityAccordionBus.Step > 0)
|
||||||
{
|
|
||||||
_startPosY -= (int)EntityAccordionBus.Step;
|
_startPosY -= (int)EntityAccordionBus.Step;
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
// вправо
|
// вправо
|
||||||
case DirectionType.Right:
|
case DirectionType.Right:
|
||||||
if(_startPosX.Value + _drawningAccordionBusWidth < _pictureWidth)
|
if(_startPosX.Value + _drawningAccordionBusWidth < _pictureWidth)
|
||||||
{
|
|
||||||
_startPosX += (int)EntityAccordionBus.Step;
|
_startPosX += (int)EntityAccordionBus.Step;
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
//вниз
|
//вниз
|
||||||
case DirectionType.Down:
|
case DirectionType.Down:
|
||||||
if (_startPosY.Value + _drawningAccordionBusHeight < _pictureHeight)
|
if (_startPosY.Value + _drawningAccordionBusHeight < _pictureHeight)
|
||||||
{
|
|
||||||
_startPosY += (int)EntityAccordionBus.Step;
|
_startPosY += (int)EntityAccordionBus.Step;
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
@ -144,9 +132,7 @@ public class DrawningAccordionBus
|
|||||||
{
|
{
|
||||||
if (EntityAccordionBus == null || !_startPosX.HasValue ||
|
if (EntityAccordionBus == null || !_startPosX.HasValue ||
|
||||||
!_startPosY.HasValue)
|
!_startPosY.HasValue)
|
||||||
{
|
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
//кузов
|
//кузов
|
||||||
Brush br = new SolidBrush(EntityAccordionBus.BodyColor);
|
Brush br = new SolidBrush(EntityAccordionBus.BodyColor);
|
||||||
g.FillRectangle(br,_startPosX.Value, _startPosY.Value, 100, 30);
|
g.FillRectangle(br,_startPosX.Value, _startPosY.Value, 100, 30);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user