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;
|
||
|
||
namespace AntiAircraftGun
|
||
{
|
||
internal class DrawingUpdateAntiAircraftGun : DrawingAntiAircraftGun
|
||
{
|
||
/// <summary>
|
||
/// Инициализация свойств
|
||
/// </summary>
|
||
/// <param name="speed">Скорость</param>
|
||
/// <param name="weight">Вес зенитного орудия</param>
|
||
/// <param name="bodyColor">Цвет корпуса</param>
|
||
/// <param name="dopColor">Дополнительный цвет</param>
|
||
/// <param name="gun">Признак наличия башни с орудием</param>
|
||
/// <param name="radar">Признак наличия радара</param>
|
||
public DrawingUpdateAntiAircraftGun(int speed, float weight, Color bodyColor, Color dopColor, bool gun, bool radar) :
|
||
base(speed, weight, bodyColor, 110, 75)
|
||
{
|
||
AntiAircraftGun = new EntityUpdateAntiAircraftGun(speed, weight, bodyColor, dopColor, gun, radar);
|
||
}
|
||
public override void DrawTransport(Graphics g)
|
||
{
|
||
if (AntiAircraftGun is not EntityUpdateAntiAircraftGun updateAntiAircraftGun)
|
||
{
|
||
return;
|
||
}
|
||
Pen dopPen = new(updateAntiAircraftGun.DopColor, 4);
|
||
Brush dopBrush = new SolidBrush(updateAntiAircraftGun.DopColor);
|
||
|
||
if (updateAntiAircraftGun.Gun)
|
||
{
|
||
g.FillRectangle(dopBrush, _startPosX + 35, _startPosY + 30, 25, 15);
|
||
g.FillRectangle(dopBrush, _startPosX + 60, _startPosY + 38, 50, 3);
|
||
}
|
||
if (updateAntiAircraftGun.Radar)
|
||
{
|
||
g.DrawLine(dopPen, _startPosX + 27, _startPosY + 37, _startPosX + 27, _startPosY + 20);
|
||
g.FillPie(dopBrush, _startPosX + 3, _startPosY, 30, 30, -45, 180);
|
||
}
|
||
_startPosY += 35;
|
||
base.DrawTransport(g);
|
||
_startPosY -= 35;
|
||
}
|
||
}
|
||
}
|