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); +}