50 lines
2.0 KiB
C#
50 lines
2.0 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
|
||
|
||
namespace AirplaneWithRadar
|
||
{
|
||
internal class DrawningAirplaneWithRadar : DrawningAirplane
|
||
{
|
||
/// <summary>
|
||
/// Инициализация свойств
|
||
/// </summary>
|
||
/// <param name="speed">Скорость</param>
|
||
/// <param name="weight">Вес автомобиля</param>
|
||
/// <param name="bodyColor">Цвет кузова</param>
|
||
/// <param name="dopColor">Дополнительный цвет</param>
|
||
/// <param name="radar">Признак наличия радара</param>
|
||
/// <param name="fuelTanks">Признак наличия дополнительных топливных баков</param>
|
||
public DrawningAirplaneWithRadar(int speed, float weight, Color bodyColor, Color
|
||
dopColor, bool radar, bool fuelTanks) :
|
||
base(speed, weight, bodyColor, 100, 20)
|
||
{
|
||
Airplane = new EntityAirplaneWithRadar(speed, weight, bodyColor, dopColor, radar, fuelTanks);
|
||
}
|
||
|
||
public override void DrawTransport(Graphics g)
|
||
{
|
||
if (Airplane is not EntityAirplaneWithRadar airplaneWithRadar)
|
||
{
|
||
return;
|
||
}
|
||
Pen pen = new(Color.Black);
|
||
Brush dopBrush = new SolidBrush(airplaneWithRadar.DopColor);
|
||
if (airplaneWithRadar.Radar)
|
||
{
|
||
g.FillEllipse(dopBrush, _startPosX + 30, _startPosY, 20, 5);
|
||
g.DrawLine(pen, _startPosX + 33, _startPosY + 4, _startPosX + 33, _startPosY + 7);
|
||
g.DrawLine(pen, _startPosX + 47, _startPosY + 4, _startPosX + 47, _startPosY + 7);
|
||
}
|
||
base.DrawTransport(g);
|
||
if (airplaneWithRadar.FuelTanks)
|
||
{
|
||
g.FillEllipse(dopBrush, _startPosX + 25, _startPosY + 12, 30, 5);
|
||
}
|
||
}
|
||
}
|
||
}
|