53 lines
2.3 KiB
C#
53 lines
2.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Security.AccessControl;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Artilleries
|
|
{
|
|
internal class DrawingAdvancedArtillery : DrawingArtillery
|
|
{
|
|
public DrawingAdvancedArtillery(int speed, float weight, Color bodyColor, Color dopColor, bool weapon, bool salvoBattery) : base(speed, weight, bodyColor, 80, 50)
|
|
{
|
|
Artillery = new EntityAdvancedArtillery(speed, weight, bodyColor, dopColor, weapon, salvoBattery);
|
|
}
|
|
|
|
public override void DrawTransport(Graphics g)
|
|
{
|
|
if (Artillery is not EntityAdvancedArtillery advancedArtillery)
|
|
{
|
|
return;
|
|
}
|
|
|
|
Pen pen = new Pen(advancedArtillery.DopColor, 8);
|
|
Brush brush = new SolidBrush(advancedArtillery.DopColor);
|
|
|
|
if (advancedArtillery.Weapon)
|
|
{
|
|
g.DrawLine(pen, _startPosX + _artilleryWidth / 2, _startPosY + _artilleryHeight / 10, _startPosX + _artilleryWidth, _startPosY);
|
|
}
|
|
pen.Width = 6;
|
|
if (advancedArtillery.SalvoBattery)
|
|
{
|
|
g.DrawLine(pen, _startPosX + _artilleryWidth / 4, _startPosY + _artilleryHeight / 4, _startPosX + _artilleryWidth / 4 + _artilleryHeight / 4, _startPosY - 5);
|
|
g.DrawLine(pen, _startPosX + _artilleryWidth / 4 - _artilleryHeight / 4, _startPosY + _artilleryHeight / 4, _startPosX + _artilleryWidth / 4, _startPosY - 5);
|
|
g.DrawLine(pen, _startPosX + _artilleryWidth / 4 - _artilleryHeight / 2, _startPosY + _artilleryHeight / 4, _startPosX + _artilleryWidth / 4 - _artilleryHeight / 4, _startPosY - 5);
|
|
}
|
|
|
|
base.DrawTransport(g);
|
|
}
|
|
|
|
public override void SetBodyColor(Color color)
|
|
{
|
|
Artillery = new EntityAdvancedArtillery(Artillery.Speed, Artillery.Weight, color, (Artillery as EntityAdvancedArtillery).DopColor, (Artillery as EntityAdvancedArtillery).Weapon, (Artillery as EntityAdvancedArtillery).SalvoBattery);
|
|
}
|
|
|
|
public void SetDopColor(Color color)
|
|
{
|
|
Artillery = new EntityAdvancedArtillery(Artillery.Speed, Artillery.Weight, Artillery.BodyColor, color, (Artillery as EntityAdvancedArtillery).Weapon, (Artillery as EntityAdvancedArtillery).SalvoBattery);
|
|
}
|
|
}
|
|
}
|