diff --git a/AircraftCarrier/AircraftCarrier/FormCarConfig.cs b/AircraftCarrier/AircraftCarrier/FormCarConfig.cs
index 90815c1..3c181d0 100644
--- a/AircraftCarrier/AircraftCarrier/FormCarConfig.cs
+++ b/AircraftCarrier/AircraftCarrier/FormCarConfig.cs
@@ -17,6 +17,10 @@ namespace AircraftCarrier
///
DrawingWarship _warship = null;
///
+ /// Событие
+ ///
+ private event WarshipDelegate EventAddWarshp;
+ ///
/// Конструктор
///
public FormCarConfig()
@@ -43,6 +47,21 @@ namespace AircraftCarrier
pictureBoxObject.Image = bmp;
}
///
+ /// Добавление события
+ ///
+ ///
+ public void AddEvent(WarshipDelegate ev)
+ {
+ if (EventAddWarshp == null)
+ {
+ EventAddWarshp = new WarshipDelegate(ev);
+ }
+ else
+ {
+ EventAddWarshp += ev;
+ }
+ }
+ ///
/// Передаем информацию при нажатии на Label
///
///
@@ -129,5 +148,15 @@ namespace AircraftCarrier
{
// TODO Call method from object _car if _car is DrawningSportCar and set dop color
}
+ ///
+ /// Добавление корабля
+ ///
+ ///
+ ///
+ private void ButtonOk_Click(object sender, EventArgs e)
+ {
+ EventAddWarshp?.Invoke(_warship);
+ Close();
+ }
}
}
diff --git a/AircraftCarrier/AircraftCarrier/FormMapWithSetWarships.cs b/AircraftCarrier/AircraftCarrier/FormMapWithSetWarships.cs
index 0b408ac..be0da2c 100644
--- a/AircraftCarrier/AircraftCarrier/FormMapWithSetWarships.cs
+++ b/AircraftCarrier/AircraftCarrier/FormMapWithSetWarships.cs
@@ -114,24 +114,9 @@ namespace AircraftCarrier
///
private void ButtonAddWarship_Click(object sender, EventArgs e)
{
- if (listBoxMaps.SelectedIndex == -1)
- {
- return;
- }
- FormWarship form = new();
- if (form.ShowDialog() == DialogResult.OK)
- {
- DrawingObjectWarship warship = new(form.SelectedWarship);
- if (_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] + warship >= 0)
- {
- MessageBox.Show("Объект добавлен");
- pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
- }
- else
- {
- MessageBox.Show("Не удалось добавить объект");
- }
- }
+ var formCarConfig = new FormCarConfig();
+ // TODO Call method AddEvent from formCarConfig
+ formCarConfig.Show();
}
///
/// Удаление объекта
diff --git a/AircraftCarrier/AircraftCarrier/WarshipDelegate.cs b/AircraftCarrier/AircraftCarrier/WarshipDelegate.cs
new file mode 100644
index 0000000..9f2a77f
--- /dev/null
+++ b/AircraftCarrier/AircraftCarrier/WarshipDelegate.cs
@@ -0,0 +1,8 @@
+namespace AircraftCarrier
+{
+ ///
+ /// Делегат для передачи объекта-корабля
+ ///
+ ///
+ public delegate void WarshipDelegate(DrawingWarship warship);
+}