Почти готова

This commit is contained in:
xom9kxom9k 2024-04-01 18:15:58 +04:00
parent d603c7848e
commit 3f805425f1
3 changed files with 26 additions and 9 deletions

View File

@ -9,6 +9,14 @@ public class EntityAntiAircraftGun : EntityArmoredCar
/// </summary>
public Color AdditionalColor { get; private set; }
/// <summary>
/// Метод передачи дополнительного цвета
/// </summary>
/// <param name="color"></param>
public void setAdditionalColor(Color color)
{
AdditionalColor = color;
}
/// <summary>
/// Наличие башни
/// </summary>
public bool Tower { get; private set; }

View File

@ -17,6 +17,14 @@ public class EntityArmoredCar
/// </summary>
public Color BodyColor { get; private set; }
/// <summary>
/// Метод передачи цвета
/// </summary>
/// <param name="color"></param>
public void setBodyColor(Color color)
{
BodyColor = color;
}
/// <summary>
/// Перемещение зенитной установки
/// </summary>
public double Step => Speed * 100 / Weight;

View File

@ -1,4 +1,5 @@
using AntiAircraftGun.Drawnings;
using AntiAircraftGun.Entities;
namespace AntiAircraftGun;
/// <summary>
@ -9,13 +10,14 @@ public partial class FormCarConfig : Form
/// <summary>
/// Объект - прорисовка бронемашины
/// </summary>
private DrawningArmoredCar? _armoredCar;
private DrawningArmoredCar? _armoredCar = null;
/// <summary>
/// Событие для передачи объекта
/// </summary>
private event ArmoredCarDelegate? armoredCarDelegate = null;
private event ArmoredCarDelegate? ArmoredCarDelegate;
public FormCarConfig()
{
InitializeComponent();
panelRed.MouseDown += Panel_MouseDown;
panelGreen.MouseDown += Panel_MouseDown;
panelBlue.MouseDown += Panel_MouseDown;
@ -27,7 +29,7 @@ public partial class FormCarConfig : Form
// TODO buttonCancel.Click привязать анонимный метод через lambda с закрытием формы
buttonCancel.Click += (sender, e) => Close();
InitializeComponent();
}
/// <summary>
/// Привязка внешнего метода к событию
@ -35,7 +37,7 @@ public partial class FormCarConfig : Form
/// <param name="carDelegate"></param>
public void AddEvent(ArmoredCarDelegate carDelegate)
{
armoredCarDelegate += carDelegate;
ArmoredCarDelegate += carDelegate;
}
/// <summary>
/// Прорисовка объекта
@ -96,7 +98,7 @@ public partial class FormCarConfig : Form
private void Panel_MouseDown(object? sender, MouseEventArgs e)
{
// TODO отправка цвета в Drag&Drop
(sender as Control).DoDragDrop((sender as Control).BackColor, DragDropEffects.Move | DragDropEffects.Copy);
(sender as Control)?.DoDragDrop((sender as Control)?.BackColor, DragDropEffects.Move | DragDropEffects.Copy);
}
@ -117,17 +119,16 @@ public partial class FormCarConfig : Form
{
if (_armoredCar != null)
{
_armoredCar.EntityAircraftGun.BodyColor((Color)e.Data.GetData(typeof(Color)));
_armoredCar.EntityAircraftGun?.setBodyColor((Color)e.Data.GetData(typeof(Color)));
DrawObject();
}
}
private void labelAdditionalColor_DragDrop(object sender, DragEventArgs e)
{
if (_armoredCar is DrawningAntiAircraftGun _antiAircraftGun)
if (_armoredCar?.EntityAircraftGun is EntityAntiAircraftGun _airbus)
{
_antiAircraftGun.AdditionalColor((Color)e.Data.GetData(typeof(Color)));
_airbus.setAdditionalColor((Color)e.Data.GetData(typeof(Color)));
}
DrawObject();
}