diff --git a/ProjectMachine/ProjectMachine/DrawningMachine.cs b/ProjectMachine/ProjectMachine/DrawningMachine.cs
index ce00c41..2b2ab70 100644
--- a/ProjectMachine/ProjectMachine/DrawningMachine.cs
+++ b/ProjectMachine/ProjectMachine/DrawningMachine.cs
@@ -179,7 +179,16 @@ namespace ProjectMachine
}
public virtual void SetBaseColor(Color color)
- {
+ {
+ if (Machine is EntityTank)
+ {
+ Machine = (EntityTank)Machine;
+ if (Machine is not null)
+ {
+ Machine = new EntityTank(Machine.Speed, Machine.Weight, color, (Machine as EntityTank).DopColor, (Machine as EntityTank).Turret, (Machine as EntityTank).Gun);
+ return;
+ }
+ }
Machine = new EntityMachine(Machine.Speed, Machine.Weight, color);
}
}
diff --git a/ProjectMachine/ProjectMachine/DrawningTank.cs b/ProjectMachine/ProjectMachine/DrawningTank.cs
index dfb9813..4283fac 100644
--- a/ProjectMachine/ProjectMachine/DrawningTank.cs
+++ b/ProjectMachine/ProjectMachine/DrawningTank.cs
@@ -52,8 +52,12 @@ namespace ProjectMachine
}
public void SetDopColor(Color color)
{
- Machine = new EntityTank(Machine.Speed, Machine.Weight, Machine.BodyColor,
+ Machine = Machine as EntityTank;
+ if (Machine is not null)
+ {
+ Machine = new EntityTank(Machine.Speed, Machine.Weight, Machine.BodyColor,
color, (Machine as EntityTank).Turret, (Machine as EntityTank).Gun);
+ }
}
}
}
diff --git a/ProjectMachine/ProjectMachine/FormTankConfig.Designer.cs b/ProjectMachine/ProjectMachine/FormTankConfig.Designer.cs
index 2930bc9..bf70a7a 100644
--- a/ProjectMachine/ProjectMachine/FormTankConfig.Designer.cs
+++ b/ProjectMachine/ProjectMachine/FormTankConfig.Designer.cs
@@ -127,6 +127,7 @@
this.panelPurple.Name = "panelPurple";
this.panelPurple.Size = new System.Drawing.Size(46, 53);
this.panelPurple.TabIndex = 3;
+ this.panelPurple.MouseDown += new System.Windows.Forms.MouseEventHandler(this.PanelColor_MouseDown);
//
// panelYellow
//
@@ -136,6 +137,7 @@
this.panelYellow.Name = "panelYellow";
this.panelYellow.Size = new System.Drawing.Size(46, 53);
this.panelYellow.TabIndex = 1;
+ this.panelYellow.MouseDown += new System.Windows.Forms.MouseEventHandler(this.PanelColor_MouseDown);
//
// panelBlack
//
@@ -145,6 +147,7 @@
this.panelBlack.Name = "panelBlack";
this.panelBlack.Size = new System.Drawing.Size(46, 53);
this.panelBlack.TabIndex = 4;
+ this.panelBlack.MouseDown += new System.Windows.Forms.MouseEventHandler(this.PanelColor_MouseDown);
//
// panelBlue
//
@@ -154,6 +157,7 @@
this.panelBlue.Name = "panelBlue";
this.panelBlue.Size = new System.Drawing.Size(46, 53);
this.panelBlue.TabIndex = 1;
+ this.panelBlue.MouseDown += new System.Windows.Forms.MouseEventHandler(this.PanelColor_MouseDown);
//
// panelGray
//
@@ -163,6 +167,7 @@
this.panelGray.Name = "panelGray";
this.panelGray.Size = new System.Drawing.Size(46, 53);
this.panelGray.TabIndex = 5;
+ this.panelGray.MouseDown += new System.Windows.Forms.MouseEventHandler(this.PanelColor_MouseDown);
//
// panelGreen
//
@@ -172,6 +177,7 @@
this.panelGreen.Name = "panelGreen";
this.panelGreen.Size = new System.Drawing.Size(46, 53);
this.panelGreen.TabIndex = 1;
+ this.panelGreen.MouseDown += new System.Windows.Forms.MouseEventHandler(this.PanelColor_MouseDown);
//
// panelWhite
//
@@ -181,6 +187,7 @@
this.panelWhite.Name = "panelWhite";
this.panelWhite.Size = new System.Drawing.Size(46, 53);
this.panelWhite.TabIndex = 2;
+ this.panelWhite.MouseDown += new System.Windows.Forms.MouseEventHandler(this.PanelColor_MouseDown);
//
// panelRed
//
@@ -190,6 +197,7 @@
this.panelRed.Name = "panelRed";
this.panelRed.Size = new System.Drawing.Size(46, 53);
this.panelRed.TabIndex = 0;
+ this.panelRed.MouseDown += new System.Windows.Forms.MouseEventHandler(this.PanelColor_MouseDown);
//
// checkBoxGun
//
@@ -279,6 +287,8 @@
this.labelDopColor.TabIndex = 2;
this.labelDopColor.Text = "Доп. цвет";
this.labelDopColor.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ this.labelDopColor.DragDrop += new System.Windows.Forms.DragEventHandler(this.LabelDopColor_DragDrop);
+ this.labelDopColor.DragEnter += new System.Windows.Forms.DragEventHandler(this.LabelColor_DragEnter);
//
// labelBaseColor
//
@@ -290,6 +300,8 @@
this.labelBaseColor.TabIndex = 1;
this.labelBaseColor.Text = "Цвет";
this.labelBaseColor.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ this.labelBaseColor.DragDrop += new System.Windows.Forms.DragEventHandler(this.LabelBaseColor_DragDrop);
+ this.labelBaseColor.DragEnter += new System.Windows.Forms.DragEventHandler(this.LabelColor_DragEnter);
//
// pictureBoxObject
//
diff --git a/ProjectMachine/ProjectMachine/FormTankConfig.cs b/ProjectMachine/ProjectMachine/FormTankConfig.cs
index ba5a5dc..2600b02 100644
--- a/ProjectMachine/ProjectMachine/FormTankConfig.cs
+++ b/ProjectMachine/ProjectMachine/FormTankConfig.cs
@@ -19,7 +19,7 @@ namespace ProjectMachine
///
/// Событие
///
- private event Action EventAddTank;
+ private event TankDelegate EventAddTank;
///
/// Конструктор
///
@@ -51,11 +51,11 @@ namespace ProjectMachine
/// Добавление события
///
///
- public void AddEvent(Action ev)
+ public void AddEvent(TankDelegate ev)
{
if (EventAddTank == null)
{
- EventAddTank = new (ev);
+ EventAddTank = new TankDelegate(ev);
}
else
{
@@ -120,7 +120,7 @@ namespace ProjectMachine
///
///
///
- private void LabelBaseColor_DragEnter(object sender, DragEventArgs e)
+ private void LabelColor_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(typeof(Color)))
{
@@ -131,6 +131,7 @@ namespace ProjectMachine
e.Effect = DragDropEffects.None;
}
}
+
///
/// Принимаем основной цвет
///