This commit is contained in:
Alenka 2023-12-03 23:03:06 +04:00
parent fd4feb9ef6
commit 76a9f320c4
4 changed files with 34 additions and 57 deletions

View File

@ -26,24 +26,33 @@ namespace Cruiser.DrawningObjects
{ {
return; return;
} }
Pen pen = new Pen(Color.Black);
Brush addBrush = new SolidBrush(cruiser.AdditionalColor); Brush addBrush = new SolidBrush(cruiser.AdditionalColor);
Brush brush = new SolidBrush(cruiser.BodyColor);
base.DrawTransport(g); base.DrawTransport(g);
if (cruiser.HelicopterPad) if (cruiser.HelicopterPad)
{ {
Brush brYellow = new SolidBrush(Color.Yellow);
g.FillEllipse(brYellow, _startPosX + 80, _startPosY + 5, 20, Point[] trianglePoints1 =
20); {
g.FillEllipse(brYellow, _startPosX + 80, _startPosY + 35, 20, new Point(_startPosX + 20, _startPosY + 5),
20); new Point(_startPosX + 40, _startPosY + 25),
new Point(_startPosX + 60, _startPosY + 5)
};
Point[] trianglePoints2 =
{
new Point(_startPosX + 20, _startPosY + 55),
new Point(_startPosX + 40, _startPosY + 35),
new Point(_startPosX + 60, _startPosY + 55)
};
g.FillPolygon(addBrush, trianglePoints1);
g.FillPolygon(addBrush, trianglePoints2);
} }
if (cruiser.Coating) if (cruiser.Coating)
{ {
g.FillEllipse(Brushes.Green, _startPosX + 90, _startPosY + 20, 20, 20); g.FillEllipse(addBrush, _startPosX + 90, _startPosY + 20, 20, 20);
} }
} }
} }
} }

View File

@ -11,7 +11,7 @@ namespace Cruiser.Entities
{ {
public class EntityAdvancedCruiser : EntityCruiser public class EntityAdvancedCruiser : EntityCruiser
{ {
public Color AdditionalColor { get; set; } public Color AdditionalColor { get; private set; }
public bool HelicopterPad { get; private set; } public bool HelicopterPad { get; private set; }
public bool Coating { get; private set; } public bool Coating { get; private set; }
public EntityAdvancedCruiser(int speed, double weight, Color bodyColor, Color public EntityAdvancedCruiser(int speed, double weight, Color bodyColor, Color

View File

@ -81,16 +81,15 @@
this.groupBoxCruiser.TabStop = false; this.groupBoxCruiser.TabStop = false;
this.groupBoxCruiser.Text = "Параметры"; this.groupBoxCruiser.Text = "Параметры";
// //
// checkBox2 // checkBoxMissileSilos
// //
this.checkBoxMissileSilos.AutoSize = true; this.checkBoxMissileSilos.AutoSize = true;
this.checkBoxMissileSilos.Location = new System.Drawing.Point(33, 277); this.checkBoxMissileSilos.Location = new System.Drawing.Point(33, 277);
this.checkBoxMissileSilos.Name = "checkBox2"; this.checkBoxMissileSilos.Name = "checkBoxMissileSilos";
this.checkBoxMissileSilos.Size = new System.Drawing.Size(232, 29); this.checkBoxMissileSilos.Size = new System.Drawing.Size(232, 29);
this.checkBoxMissileSilos.TabIndex = 12; this.checkBoxMissileSilos.TabIndex = 12;
this.checkBoxMissileSilos.Text = "Наличие ракетных шахт"; this.checkBoxMissileSilos.Text = "Наличие ракетных шахт";
this.checkBoxMissileSilos.UseVisualStyleBackColor = true; this.checkBoxMissileSilos.UseVisualStyleBackColor = true;
this.checkBoxMissileSilos.CheckedChanged += new System.EventHandler(this.checkBox2_CheckedChanged);
// //
// buttonCancel // buttonCancel
// //
@ -104,7 +103,7 @@
// buttonAdd // buttonAdd
// //
this.buttonAdd.Location = new System.Drawing.Point(838, 321); this.buttonAdd.Location = new System.Drawing.Point(838, 321);
this.buttonAdd.Name = "button1"; this.buttonAdd.Name = "buttonAdd";
this.buttonAdd.Size = new System.Drawing.Size(136, 38); this.buttonAdd.Size = new System.Drawing.Size(136, 38);
this.buttonAdd.TabIndex = 10; this.buttonAdd.TabIndex = 10;
this.buttonAdd.Text = "Добавить"; this.buttonAdd.Text = "Добавить";
@ -134,7 +133,7 @@
this.label_addit_color.TabIndex = 10; this.label_addit_color.TabIndex = 10;
this.label_addit_color.Text = "Доп.цвет"; this.label_addit_color.Text = "Доп.цвет";
this.label_addit_color.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.label_addit_color.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.label_addit_color.DragDrop += new System.Windows.Forms.DragEventHandler(this.labelAddColor_DragDrop); this.label_addit_color.DragDrop += new System.Windows.Forms.DragEventHandler(this.labelColor_DragDrop);
this.label_addit_color.DragEnter += new System.Windows.Forms.DragEventHandler(this.labelColor_DragEnter); this.label_addit_color.DragEnter += new System.Windows.Forms.DragEventHandler(this.labelColor_DragEnter);
// //
// label_color // label_color
@ -293,7 +292,7 @@
0, 0,
0}); 0});
// //
// numericUpDown1 // numericUpDownSpeed
// //
this.numericUpDownSpeed.Location = new System.Drawing.Point(128, 75); this.numericUpDownSpeed.Location = new System.Drawing.Point(128, 75);
this.numericUpDownSpeed.Maximum = new decimal(new int[] { this.numericUpDownSpeed.Maximum = new decimal(new int[] {
@ -306,7 +305,7 @@
0, 0,
0, 0,
0}); 0});
this.numericUpDownSpeed.Name = "numericUpDown1"; this.numericUpDownSpeed.Name = "numericUpDownSpeed";
this.numericUpDownSpeed.Size = new System.Drawing.Size(74, 31); this.numericUpDownSpeed.Size = new System.Drawing.Size(74, 31);
this.numericUpDownSpeed.TabIndex = 2; this.numericUpDownSpeed.TabIndex = 2;
this.numericUpDownSpeed.Value = new decimal(new int[] { this.numericUpDownSpeed.Value = new decimal(new int[] {
@ -319,7 +318,7 @@
// //
this.labelWeight.AutoSize = true; this.labelWeight.AutoSize = true;
this.labelWeight.Location = new System.Drawing.Point(33, 145); this.labelWeight.Location = new System.Drawing.Point(33, 145);
this.labelWeight.Name = "label2"; this.labelWeight.Name = "labelWeight";
this.labelWeight.Size = new System.Drawing.Size(43, 25); this.labelWeight.Size = new System.Drawing.Size(43, 25);
this.labelWeight.TabIndex = 1; this.labelWeight.TabIndex = 1;
this.labelWeight.Text = "Вес:"; this.labelWeight.Text = "Вес:";
@ -328,20 +327,19 @@
// //
this.labelSpeed.AutoSize = true; this.labelSpeed.AutoSize = true;
this.labelSpeed.Location = new System.Drawing.Point(33, 75); this.labelSpeed.Location = new System.Drawing.Point(33, 75);
this.labelSpeed.Name = "label1"; this.labelSpeed.Name = "labelSpeed";
this.labelSpeed.Size = new System.Drawing.Size(93, 25); this.labelSpeed.Size = new System.Drawing.Size(93, 25);
this.labelSpeed.TabIndex = 0; this.labelSpeed.TabIndex = 0;
this.labelSpeed.Text = "Скорость:"; this.labelSpeed.Text = "Скорость:";
// //
// Form2 // FormCruiserConfig
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 25F); this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 25F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1279, 552); this.ClientSize = new System.Drawing.Size(1279, 552);
this.Controls.Add(this.groupBoxCruiser); this.Controls.Add(this.groupBoxCruiser);
this.Name = "Form2"; this.Name = "FormCruiserConfig";
this.Text = "Создание объекта"; this.Text = "Создание объекта";
this.Load += new System.EventHandler(this.Form2_Load);
this.groupBoxCruiser.ResumeLayout(false); this.groupBoxCruiser.ResumeLayout(false);
this.groupBoxCruiser.PerformLayout(); this.groupBoxCruiser.PerformLayout();
this.panelOrchid.ResumeLayout(false); this.panelOrchid.ResumeLayout(false);

View File

@ -17,8 +17,6 @@ namespace Cruiser
{ {
DrawningCruiser? _cruiser = null; DrawningCruiser? _cruiser = null;
public event Action<DrawningCruiser>? EventAddCruiser; public event Action<DrawningCruiser>? EventAddCruiser;
public FormCruiserConfig() public FormCruiserConfig()
{ {
InitializeComponent(); InitializeComponent();
@ -30,8 +28,6 @@ namespace Cruiser
panelViolet.MouseDown += PanelColor_MouseDown; panelViolet.MouseDown += PanelColor_MouseDown;
panelPurple.MouseDown += PanelColor_MouseDown; panelPurple.MouseDown += PanelColor_MouseDown;
panelOrchid.MouseDown += PanelColor_MouseDown; panelOrchid.MouseDown += PanelColor_MouseDown;
labelBasic.MouseDown += LabelObject_MouseDown;
labelAdvanced.MouseDown += LabelObject_MouseDown;
buttonCancel.Click += (s, e) => Close(); buttonCancel.Click += (s, e) => Close();
} }
@ -89,21 +85,18 @@ namespace Cruiser
label_addit_color.BackColor = Color.Empty; label_addit_color.BackColor = Color.Empty;
DrawCruiser(); DrawCruiser();
} }
private void PanelColor_MouseDown(object? sender, MouseEventArgs e) private void PanelColor_MouseDown(object? sender, MouseEventArgs e)
{ {
(sender as Control)?.DoDragDrop((sender as Control)?.BackColor, DragDropEffects.Move | DragDropEffects.Copy); (sender as Control)?.DoDragDrop((sender as Control)?.BackColor, DragDropEffects.Move | DragDropEffects.Copy);
} }
private void ButtonAdd_Click(object sender, EventArgs e) private void ButtonAdd_Click(object sender, EventArgs e)
{ {
EventAddCruiser?.Invoke(_cruiser); EventAddCruiser?.Invoke(_cruiser);
Close(); Close();
} }
private void labelColor_DragDrop(object sender, DragEventArgs e) private void labelColor_DragDrop(object sender, DragEventArgs e)
{ {
if (_cruiser == null) if (_cruiser?.EntityCruiser == null)
return; return;
switch (((Label)sender).Name) switch (((Label)sender).Name)
{ {
@ -116,9 +109,8 @@ namespace Cruiser
(_cruiser.EntityCruiser as EntityAdvancedCruiser)?.setAdditionalColor(color: (Color)e.Data.GetData(typeof(Color))); (_cruiser.EntityCruiser as EntityAdvancedCruiser)?.setAdditionalColor(color: (Color)e.Data.GetData(typeof(Color)));
break; break;
} }
DrawCruiser(); DrawCruiser();
} }
private void labelColor_DragEnter(object sender, DragEventArgs e) private void labelColor_DragEnter(object sender, DragEventArgs e)
{ {
if (e.Data.GetDataPresent(typeof(Color))) if (e.Data.GetDataPresent(typeof(Color)))
@ -130,27 +122,5 @@ namespace Cruiser
e.Effect = DragDropEffects.None; e.Effect = DragDropEffects.None;
} }
} }
private void labelAddColor_DragDrop(object sender, DragEventArgs e)
{
if ((_cruiser?.EntityCruiser == null) || (_cruiser is DrawningAdvancedCruiser == false))
return;
Color additionalColor = (Color)e.Data.GetData(typeof(Color));
_cruiser = new DrawningAdvancedCruiser((int)numericUpDownSpeed.Value,
(int)numericUpDownWeight.Value, _cruiser.EntityCruiser.BodyColor, additionalColor, checkBoxHelicopterPad.Checked,
checkBoxHelicopterPad.Checked, pictureBoxCruiser.Height, pictureBoxCruiser.Width);
DrawCruiser();
}
private void Form2_Load(object sender, EventArgs e)
{
}
private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
}
} }
}
}