diff --git a/ProjectMachine/ProjectMachine/DrawningMachine.cs b/ProjectMachine/ProjectMachine/DrawningMachine.cs
index dc37083..ce00c41 100644
--- a/ProjectMachine/ProjectMachine/DrawningMachine.cs
+++ b/ProjectMachine/ProjectMachine/DrawningMachine.cs
@@ -179,7 +179,7 @@ namespace ProjectMachine
}
public virtual void SetBaseColor(Color color)
- {
+ {
Machine = new EntityMachine(Machine.Speed, Machine.Weight, color);
}
}
diff --git a/ProjectMachine/ProjectMachine/FormMachine.cs b/ProjectMachine/ProjectMachine/FormMachine.cs
index 237b6c8..87405a3 100644
--- a/ProjectMachine/ProjectMachine/FormMachine.cs
+++ b/ProjectMachine/ProjectMachine/FormMachine.cs
@@ -107,7 +107,7 @@ namespace ProjectMachine
dopColor = dialogDop.Color;
}
_machine = new DrawningTank(rnd.Next(100, 300), rnd.Next(1000, 2000), color, dopColor,
- Convert.ToBoolean(rnd.Next(0, 2)), Convert.ToBoolean(rnd.Next(0, 2)), Convert.ToBoolean(rnd.Next(0, 2)));
+ Convert.ToBoolean(rnd.Next(0, 2)), Convert.ToBoolean(rnd.Next(0, 2)));
SetData();
Draw();
}
diff --git a/ProjectMachine/ProjectMachine/FormMap.cs b/ProjectMachine/ProjectMachine/FormMap.cs
index c0d2c50..690202e 100644
--- a/ProjectMachine/ProjectMachine/FormMap.cs
+++ b/ProjectMachine/ProjectMachine/FormMap.cs
@@ -77,7 +77,7 @@ namespace ProjectMachine
private void ButtonCreateModif_Click(object sender, EventArgs e)
{
Random rnd = new();
- var machine = new DrawningTank(rnd.Next(100, 300), rnd.Next(1000, 2000), Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256)), Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256)), Convert.ToBoolean(rnd.Next(0, 2)), Convert.ToBoolean(rnd.Next(0, 2)), Convert.ToBoolean(rnd.Next(0, 2)));
+ var machine = new DrawningTank(rnd.Next(100, 300), rnd.Next(1000, 2000), Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256)), Color.FromArgb(rnd.Next(0, 256), rnd.Next(0, 256), rnd.Next(0, 256)), Convert.ToBoolean(rnd.Next(0, 2)), Convert.ToBoolean(rnd.Next(0, 2)));
SetData(machine);
}
///
diff --git a/ProjectMachine/ProjectMachine/FormMapWithSetTank.cs b/ProjectMachine/ProjectMachine/FormMapWithSetTank.cs
index b6c4748..30822e6 100644
--- a/ProjectMachine/ProjectMachine/FormMapWithSetTank.cs
+++ b/ProjectMachine/ProjectMachine/FormMapWithSetTank.cs
@@ -115,9 +115,25 @@ namespace ProjectMachine
private void ButtonAddTank_Click(object sender, EventArgs e)
{
var formTankConfig = new FormTankConfig();
- // TODO Call method AddEvent from formCarConfig
+ formTankConfig.AddEvent(new(AddTank));
formTankConfig.Show();
}
+ private void AddTank(DrawningMachine tank)
+ {
+ if (listBoxMaps.SelectedIndex == -1)
+ {
+ MessageBox.Show("Перед добавлением объекта необходимо создать карту");
+ }
+ else if (_mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty] + new DrawningObject(tank) != -1)
+ {
+ MessageBox.Show("Объект добавлен");
+ pictureBox.Image = _mapsCollection[listBoxMaps.SelectedItem?.ToString() ?? string.Empty].ShowSet();
+ }
+ else
+ {
+ MessageBox.Show("Не удалось добавить объект");
+ }
+ }
///
/// Удаление объекта
///
diff --git a/ProjectMachine/ProjectMachine/FormTankConfig.Designer.cs b/ProjectMachine/ProjectMachine/FormTankConfig.Designer.cs
index e1fbc76..2930bc9 100644
--- a/ProjectMachine/ProjectMachine/FormTankConfig.Designer.cs
+++ b/ProjectMachine/ProjectMachine/FormTankConfig.Designer.cs
@@ -29,7 +29,6 @@
private void InitializeComponent()
{
this.groupBoxConfig = new System.Windows.Forms.GroupBox();
- this.checkBoxBodyKit = new System.Windows.Forms.CheckBox();
this.labelModifiedObject = new System.Windows.Forms.Label();
this.labelSimpleObject = new System.Windows.Forms.Label();
this.groupBoxColors = new System.Windows.Forms.GroupBox();
@@ -63,7 +62,6 @@
//
// groupBoxConfig
//
- this.groupBoxConfig.Controls.Add(this.checkBoxBodyKit);
this.groupBoxConfig.Controls.Add(this.labelModifiedObject);
this.groupBoxConfig.Controls.Add(this.labelSimpleObject);
this.groupBoxConfig.Controls.Add(this.groupBoxColors);
@@ -80,17 +78,6 @@
this.groupBoxConfig.TabStop = false;
this.groupBoxConfig.Text = "Параметры";
//
- // checkBoxBodyKit
- //
- this.checkBoxBodyKit.AutoSize = true;
- this.checkBoxBodyKit.Location = new System.Drawing.Point(6, 136);
- this.checkBoxBodyKit.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
- this.checkBoxBodyKit.Name = "checkBoxBodyKit";
- this.checkBoxBodyKit.Size = new System.Drawing.Size(207, 24);
- this.checkBoxBodyKit.TabIndex = 18;
- this.checkBoxBodyKit.Text = "Признак наличия обвеса";
- this.checkBoxBodyKit.UseVisualStyleBackColor = true;
- //
// labelModifiedObject
//
this.labelModifiedObject.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
@@ -207,7 +194,7 @@
// checkBoxGun
//
this.checkBoxGun.AutoSize = true;
- this.checkBoxGun.Location = new System.Drawing.Point(6, 223);
+ this.checkBoxGun.Location = new System.Drawing.Point(10, 172);
this.checkBoxGun.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.checkBoxGun.Name = "checkBoxGun";
this.checkBoxGun.Size = new System.Drawing.Size(299, 24);
@@ -218,7 +205,7 @@
// checkBoxTurret
//
this.checkBoxTurret.AutoSize = true;
- this.checkBoxTurret.Location = new System.Drawing.Point(6, 181);
+ this.checkBoxTurret.Location = new System.Drawing.Point(10, 124);
this.checkBoxTurret.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.checkBoxTurret.Name = "checkBoxTurret";
this.checkBoxTurret.Size = new System.Drawing.Size(281, 24);
@@ -382,6 +369,5 @@
private PictureBox pictureBoxObject;
private Button buttonOk;
private Button buttonCancel;
- private CheckBox checkBoxBodyKit;
}
}
\ No newline at end of file
diff --git a/ProjectMachine/ProjectMachine/FormTankConfig.cs b/ProjectMachine/ProjectMachine/FormTankConfig.cs
index cecfc87..ba5a5dc 100644
--- a/ProjectMachine/ProjectMachine/FormTankConfig.cs
+++ b/ProjectMachine/ProjectMachine/FormTankConfig.cs
@@ -19,7 +19,7 @@ namespace ProjectMachine
///
/// Событие
///
- private event TankDelegate EventAddTank;
+ private event Action EventAddTank;
///
/// Конструктор
///
@@ -51,11 +51,11 @@ namespace ProjectMachine
/// Добавление события
///
///
- public void AddEvent(TankDelegate ev)
+ public void AddEvent(Action ev)
{
if (EventAddTank == null)
{
- EventAddTank = new TankDelegate(ev);
+ EventAddTank = new (ev);
}
else
{
@@ -138,7 +138,11 @@ namespace ProjectMachine
///
private void LabelBaseColor_DragDrop(object sender, DragEventArgs e)
{
-
+ if (_tank != null)
+ {
+ _tank.SetBaseColor((Color)e.Data.GetData(typeof(Color)));
+ DrawTank();
+ }
}
///
/// Принимаем дополнительный цвет