using System; using System.Collections.Generic; using System.Drawing.Drawing2D; using System.Linq; using System.Text; using System.Threading.Tasks; using AirBomber.Entities; namespace AirBomber.DrawningObjects { public class DrawningAirBomber : DrawningBomber { public DrawningAirBomber(int speed, int weight, Color bodycolor, Color dopcolor, bool toplivo, bool rocket, int width, int height) : base(speed, weight, bodycolor, width, height, 160, 185) { if (EntityBomber != null) { EntityBomber = new EntityAirBomber(speed, weight, bodycolor, dopcolor, toplivo, rocket); } } public override void DrawBomber(Graphics g) { if (EntityBomber is not EntityAirBomber airBomber) { return; } Pen pen = new(Color.Black); Brush dopcolor = new SolidBrush(airBomber.DopColor); //отрисовка ракет if (airBomber.Rocket) { GraphicsPath rocket_1 = new GraphicsPath(); rocket_1.AddLine(_startPosX + 70, _startPosY + 35, _startPosX + 80, _startPosY + 25); rocket_1.AddLine(_startPosX + 80, _startPosY + 25, _startPosX + 80, _startPosY + 45); rocket_1.CloseFigure(); g.FillPath(dopcolor, rocket_1); g.DrawPath(Pens.Black, rocket_1); GraphicsPath rocket_2 = new GraphicsPath(); rocket_2.AddLine(_startPosX + 70, _startPosY + 65, _startPosX + 80, _startPosY + 55); rocket_2.AddLine(_startPosX + 80, _startPosY + 55, _startPosX + 80, _startPosY + 75); rocket_2.CloseFigure(); g.FillPath(dopcolor, rocket_2); g.DrawPath(Pens.Black, rocket_2); GraphicsPath rocket_3 = new GraphicsPath(); rocket_3.AddLine(_startPosX + 70, _startPosY + 120, _startPosX + 80, _startPosY + 110); rocket_3.AddLine(_startPosX + 80, _startPosY + 110, _startPosX + 80, _startPosY + 130); rocket_3.CloseFigure(); g.FillPath(dopcolor, rocket_3); g.DrawPath(Pens.Black, rocket_3); GraphicsPath rocket_4 = new GraphicsPath(); rocket_4.AddLine(_startPosX + 70, _startPosY + 150, _startPosX + 80, _startPosY + 140); rocket_4.AddLine(_startPosX + 80, _startPosY + 140, _startPosX + 80, _startPosY + 160); rocket_4.CloseFigure(); g.FillPath(dopcolor, rocket_4); g.DrawPath(Pens.Black, rocket_4); } if (airBomber.Toplivo) { //отрисовка баков g.FillRectangle(dopcolor, _startPosX + 82, _startPosY + 5, 8, 10); g.FillRectangle(dopcolor, _startPosX + 82, _startPosY + 25, 8, 10); g.FillRectangle(dopcolor, _startPosX + 82, _startPosY + 45, 8, 10); g.FillRectangle(dopcolor, _startPosX + 82, _startPosY + 130, 8, 10); g.FillRectangle(dopcolor, _startPosX + 82, _startPosY + 150, 8, 10); g.FillRectangle(dopcolor, _startPosX + 82, _startPosY + 170, 8, 10); } base.DrawBomber(g); } } }