From a099ea6fd69142ca3f659c975f16fdceedd866a9 Mon Sep 17 00:00:00 2001 From: "ityurner02@mail.ru" Date: Sat, 29 Oct 2022 20:36:09 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BC=D0=B5=D0=BD=D0=B0=20=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D0=B5=D0=B3=D0=B0=D1=82=D0=BE=D0=B2=20=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=B2=D1=81=D1=82=D1=80=D0=BE=D0=B5=D0=BD=D0=BD=D1=8B=D0=B5,?= =?UTF-8?q?=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BA=D0=B0=20=D0=BE=D1=82=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B,=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20?= =?UTF-8?q?=D1=81=20=D1=86=D0=B2=D0=B5=D1=82=D0=B0=D0=BC=D0=B8=20=D0=B8=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=D0=B2=D1=8F=D0=B7=D0=BA=D0=B0=20=D0=BA=20?= =?UTF-8?q?=D1=84=D0=BE=D1=80=D0=BC=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AntiAircraftGunDelegate.cs | 14 -------- .../AntiAircraftGun/EntityAntiAircraftGun.cs | 2 +- .../EntityUpdateAntiAircraftGun.cs | 2 +- .../FormAntiAircraftGunConfig.cs | 32 +++++++++++++------ ...FormMapWithSetAntiAircraftGuns.Designer.cs | 3 +- .../FormMapWithSetAntiAircraftGuns.cs | 19 ++++++++++- 6 files changed, 45 insertions(+), 27 deletions(-) delete mode 100644 AntiAircraftGun/AntiAircraftGun/AntiAircraftGunDelegate.cs 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"); + } + } /// /// Удаление объекта ///