76 lines
2.4 KiB
C#
76 lines
2.4 KiB
C#
|
using ProjectBulldozer.Entities;
|
|||
|
|
|||
|
namespace ProjectBulldozer.Drawings
|
|||
|
{
|
|||
|
public class DrawingBulldozer : DrawingTractor
|
|||
|
{
|
|||
|
public DrawingBulldozer(int speed, double weight, Color bodyColor, Color additionalColor,
|
|||
|
bool otval, bool seifBatteries, int width, int height) : base(speed, weight, bodyColor, width, height, 129, 120)
|
|||
|
{
|
|||
|
if (EntityTractor != null)
|
|||
|
{
|
|||
|
EntityTractor = new EntityBulldozer(speed, width, bodyColor, additionalColor, otval, seifBatteries);
|
|||
|
}
|
|||
|
}
|
|||
|
public override void DrawTransport(Graphics g)
|
|||
|
{
|
|||
|
if (EntityTractor is not EntityBulldozer Bulldozer)
|
|||
|
{
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
Pen pen = new(Color.Black);
|
|||
|
Brush blackBrush = new SolidBrush(Color.Black);
|
|||
|
Brush windows = new SolidBrush(Color.LightBlue);
|
|||
|
Brush bodyColor = new SolidBrush(Bulldozer.BodyColor);
|
|||
|
Brush additionalBrush = new SolidBrush(Bulldozer.AdditionalColor);
|
|||
|
Brush grayBrush = new SolidBrush(Color.Gray);
|
|||
|
if (Bulldozer.Otval)
|
|||
|
{
|
|||
|
//otval
|
|||
|
Point[] Otval =
|
|||
|
{
|
|||
|
new Point(_startPosX + 122, _startPosY + 55),
|
|||
|
new Point(_startPosX + 142, _startPosY + 115),
|
|||
|
new Point(_startPosX+ 122, _startPosY + 115),
|
|||
|
|
|||
|
|
|||
|
};
|
|||
|
|
|||
|
g.FillPolygon(blackBrush, Otval);
|
|||
|
g.DrawPolygon(pen, Otval);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
//гусеницы
|
|||
|
Brush gg = new SolidBrush(Color.LightGray);
|
|||
|
g.FillEllipse(gg, _startPosX + 19, _startPosY + 62, 100, 65);
|
|||
|
g.DrawEllipse(pen, _startPosX + 19, _startPosY + 62, 100, 65);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
g.FillEllipse(grayBrush, _startPosX + 65, _startPosY + 100, 15, 15);
|
|||
|
g.DrawEllipse(pen, _startPosX + 65, _startPosY + 100, 15, 15);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Point[] Ttt =
|
|||
|
{
|
|||
|
new Point(_startPosX + 18 , _startPosY + 80),
|
|||
|
new Point(_startPosX + 18, _startPosY + 110),
|
|||
|
new Point(_startPosX, _startPosY + 50),
|
|||
|
|
|||
|
};
|
|||
|
g.FillPolygon(blackBrush, Ttt);
|
|||
|
g.DrawPolygon(pen, Ttt);
|
|||
|
|
|||
|
if (Bulldozer.SeifBatteries)
|
|||
|
{
|
|||
|
g.FillRectangle(blackBrush, _startPosX + 78, _startPosY + 30, 10, 10);
|
|||
|
}
|
|||
|
base.DrawTransport(g);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|