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