diff --git a/AntiAircraftGun/AntiAircraftGun/AntiAircraftGunDelegate.cs b/AntiAircraftGun/AntiAircraftGun/AntiAircraftGunDelegate.cs
deleted file mode 100644
index 034ef16..0000000
--- a/AntiAircraftGun/AntiAircraftGun/AntiAircraftGunDelegate.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace AntiAircraftGun
-{
- ///
- /// Делегат для передачи объекта-орудия
- ///
- ///
- public delegate void AntiAircraftGunDelegate(DrawingAntiAircraftGun antiAircraftGun);
-}
diff --git a/AntiAircraftGun/AntiAircraftGun/EntityAntiAircraftGun.cs b/AntiAircraftGun/AntiAircraftGun/EntityAntiAircraftGun.cs
index aa554aa..a1e4241 100644
--- a/AntiAircraftGun/AntiAircraftGun/EntityAntiAircraftGun.cs
+++ b/AntiAircraftGun/AntiAircraftGun/EntityAntiAircraftGun.cs
@@ -19,7 +19,7 @@ namespace AntiAircraftGun
///
/// Цвет зенитнго орудия
///
- public Color BodyColor { get; private set; }
+ public Color BodyColor { get; set; }
///
/// Шаг перемещения зенитного орудия
///
diff --git a/AntiAircraftGun/AntiAircraftGun/EntityUpdateAntiAircraftGun.cs b/AntiAircraftGun/AntiAircraftGun/EntityUpdateAntiAircraftGun.cs
index ff00aa8..61829c8 100644
--- a/AntiAircraftGun/AntiAircraftGun/EntityUpdateAntiAircraftGun.cs
+++ b/AntiAircraftGun/AntiAircraftGun/EntityUpdateAntiAircraftGun.cs
@@ -11,7 +11,7 @@ namespace AntiAircraftGun
///
/// Дополнительный цвет
///
- public Color DopColor { get; private set; }
+ public Color DopColor { get; set; }
///
/// Признак наличия башни с орудием
///
diff --git a/AntiAircraftGun/AntiAircraftGun/FormAntiAircraftGunConfig.cs b/AntiAircraftGun/AntiAircraftGun/FormAntiAircraftGunConfig.cs
index 1b3dc6a..be29991 100644
--- a/AntiAircraftGun/AntiAircraftGun/FormAntiAircraftGunConfig.cs
+++ b/AntiAircraftGun/AntiAircraftGun/FormAntiAircraftGunConfig.cs
@@ -7,6 +7,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
+using static System.Windows.Forms.VisualStyles.VisualStyleElement.ToolTip;
namespace AntiAircraftGun
{
@@ -19,7 +20,7 @@ namespace AntiAircraftGun
///
/// Событие
///
- private event AntiAircraftGunDelegate EventAddAntiAircraftGun;
+ private event Action EventAddAntiAircraftGun;
///
/// Конструктор
///
@@ -34,12 +35,12 @@ namespace AntiAircraftGun
panelWhite.MouseDown += PanelColor_MouseDown;
panelYellow.MouseDown += PanelColor_MouseDown;
panelBlue.MouseDown += PanelColor_MouseDown;
- // TODO buttonCancel.Click with lambda
+ buttonCancel.Click += (sender, e) => { Close(); };
}
///
/// Отрисовать орудие
///
- private void DrawCar()
+ private void DrawAntiAircraftGun()
{
Bitmap bmp = new(pictureBoxObject.Width, pictureBoxObject.Height);
Graphics gr = Graphics.FromImage(bmp);
@@ -51,11 +52,11 @@ namespace AntiAircraftGun
/// Добавление события
///
///
- public void AddEvent(AntiAircraftGunDelegate ev)
+ public void AddEvent(Action ev)
{
if (EventAddAntiAircraftGun == null)
{
- EventAddAntiAircraftGun = new AntiAircraftGunDelegate(ev);
+ EventAddAntiAircraftGun = ev;
}
else
{
@@ -105,7 +106,7 @@ namespace AntiAircraftGun
checkBoxGun.Checked, checkBoxRadar.Checked);
break;
}
- DrawCar();
+ DrawAntiAircraftGun();
}
///
/// Отправляем цвет с панели
@@ -132,14 +133,19 @@ namespace AntiAircraftGun
e.Effect = DragDropEffects.None;
}
}
- ///
+ /// labelModifiedObject
/// Принимаем основной цвет
///
///
///
private void LableBaseColor_DragDrop(object sender, DragEventArgs e)
{
- // TODO Call method from object _antiAircraftGun and set color
+ if (_antiAircraftGun == null || !e.Data.GetDataPresent(typeof(Color)))
+ {
+ return;
+ }
+ _antiAircraftGun.AntiAircraftGun.BodyColor = (Color)e.Data.GetData(typeof(Color));
+ DrawAntiAircraftGun();
}
///
/// Принимаем дополнительный цвет
@@ -148,7 +154,15 @@ namespace AntiAircraftGun
///
private void LableDopColor_DragDrop(object sender, DragEventArgs e)
{
- // TODO Call method from object _car if _antiAircraftGun is DrawningSportCar and set dop color
+ if (_antiAircraftGun == null || _antiAircraftGun.GetType() != typeof(DrawingUpdateAntiAircraftGun) || !e.Data.GetDataPresent(typeof(Color)))
+ {
+ return;
+ }
+ if (_antiAircraftGun.AntiAircraftGun is EntityUpdateAntiAircraftGun upGun)
+ {
+ upGun.DopColor = (Color)e.Data.GetData(typeof(Color));
+ }
+ DrawAntiAircraftGun();
}
///
/// Добавление орудия
diff --git a/AntiAircraftGun/AntiAircraftGun/FormMapWithSetAntiAircraftGuns.Designer.cs b/AntiAircraftGun/AntiAircraftGun/FormMapWithSetAntiAircraftGuns.Designer.cs
index 7c008e4..c515e95 100644
--- a/AntiAircraftGun/AntiAircraftGun/FormMapWithSetAntiAircraftGuns.Designer.cs
+++ b/AntiAircraftGun/AntiAircraftGun/FormMapWithSetAntiAircraftGuns.Designer.cs
@@ -188,6 +188,7 @@
//
// groupBoxMaps
//
+ this.groupBoxMaps.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.groupBoxMaps.Controls.Add(this.listBoxMaps);
this.groupBoxMaps.Controls.Add(this.buttonDeleteMap);
this.groupBoxMaps.Controls.Add(this.buttonAddMap);
@@ -195,7 +196,7 @@
this.groupBoxMaps.Controls.Add(this.comboBoxSelectorMap);
this.groupBoxMaps.Location = new System.Drawing.Point(580, 26);
this.groupBoxMaps.Name = "groupBoxMaps";
- this.groupBoxMaps.Size = new System.Drawing.Size(226, 277);
+ this.groupBoxMaps.Size = new System.Drawing.Size(220, 277);
this.groupBoxMaps.TabIndex = 17;
this.groupBoxMaps.TabStop = false;
this.groupBoxMaps.Text = "Карты";
diff --git a/AntiAircraftGun/AntiAircraftGun/FormMapWithSetAntiAircraftGuns.cs b/AntiAircraftGun/AntiAircraftGun/FormMapWithSetAntiAircraftGuns.cs
index c2c9ec5..e7c6c51 100644
--- a/AntiAircraftGun/AntiAircraftGun/FormMapWithSetAntiAircraftGuns.cs
+++ b/AntiAircraftGun/AntiAircraftGun/FormMapWithSetAntiAircraftGuns.cs
@@ -110,9 +110,26 @@ namespace AntiAircraftGun
private void ButtonAddAntiAircraftGun_Click(object sender, EventArgs e)
{
var formAntiAircraftGunConfig = new FormAntiAircraftGunConfig();
- // TODO Call method AddEvent from formAntiAircraftGunConfig
+ formAntiAircraftGunConfig.AddEvent(AddAntiAircraftGun);
formAntiAircraftGunConfig.Show();
}
+ private void AddAntiAircraftGun(DrawingAntiAircraftGun drawingAntiAircraftGuns)
+ {
+ if (listBoxMaps.SelectedIndex == -1)
+ {
+ return;
+ }
+ DrawingObjectAntiAircraftGun antiAircraftGun = new DrawingObjectAntiAircraftGun(drawingAntiAircraftGuns);
+ if (_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] + antiAircraftGun != -1)
+ {
+ MessageBox.Show("Object added");
+ pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
+ }
+ else
+ {
+ MessageBox.Show("Cant add object");
+ }
+ }
///
/// Удаление объекта
///