5 лаба (окончательные правки)

This commit is contained in:
Андрей Байгулов 2023-11-17 21:42:11 +04:00
parent a258fe0f84
commit c918183e43
6 changed files with 14 additions and 24 deletions

View File

@ -31,22 +31,22 @@ namespace ProjectElectricLocomotive.DrawingObjects
Brush bodyColor = new SolidBrush(electricLocomotive.BodyColor);
g.DrawRectangle(pen, _startPosX + 40, _startPosY + 24, 25, 11);
if (electricLocomotive.Compartment)
g.FillPolygon(additionalBrush, new Point[]
{
g.FillPolygon(additionalBrush, new Point[]
{
new Point(_startPosX + 61, _startPosY + 25),
new Point(_startPosX + 85, _startPosY + 25),
new Point(_startPosX + 85, _startPosY + 35),
new Point(_startPosX + 61, _startPosY + 35),
new Point(_startPosX + 61, _startPosY + 25),
}
);
}
);
if (electricLocomotive.Pantograph)
{
g.FillRectangle(blackBrush, _startPosX + 30, _startPosY + 15, 20, 5);
g.DrawLine(pen, _startPosX + 30, _startPosY + 15, _startPosX + 50, _startPosY + 2);
g.DrawLine(pen, _startPosX + 40, _startPosY + 15, _startPosX + 60, _startPosY + 2);
}
base.DrawTransport(g);
base.DrawTransport(g);
}
public void SetAdditionalColor(Color color)
{
@ -54,3 +54,4 @@ namespace ProjectElectricLocomotive.DrawingObjects
}
}
}

View File

@ -13,7 +13,7 @@ namespace ProjectElectricLocomotive.DrawingObjects
{
public class DrawingLocomotive
{
public EntityLocomotive? EntityLocomotive { get; protected set;}
public EntityLocomotive? EntityLocomotive { get; protected set; }
public int _pictureWidth;
public int _pictureHeight;
@ -172,3 +172,4 @@ namespace ProjectElectricLocomotive.DrawingObjects
}
}
}

View File

@ -10,7 +10,7 @@ namespace ProjectElectricLocomotive.Entities
public class EntityElectricLocomotive : EntityLocomotive
{
public Color AdditionalColor { get; private set; }
public bool Pantograph { get; set; }
public bool Pantograph { get; set; }
public bool Compartment { get; set; }
/// <param name="additionalColor">Дополнительный цвет</param>

View File

@ -16,7 +16,7 @@ namespace ProjectElectricLocomotive.Entities
/// <param name="speed">Скорость</param>
/// <param name="weight">Вес локомотива</param>
/// <param name="bodyColor">Основной цвет</param>
public EntityLocomotive (int speed, double weight, Color bodyColor)
public EntityLocomotive(int speed, double weight, Color bodyColor)
{
Speed = speed;
Weight = weight;

View File

@ -16,7 +16,7 @@ namespace ProjectElectricLocomotive
public partial class FormLocomotiveConfig : Form
{
DrawingLocomotive? _locomotive = null;
private event LocomotiveDelegate? EventAddLocomotive;
private event Action<DrawingLocomotive>? EventAddLocomotive;
public FormLocomotiveConfig()
{
@ -33,7 +33,7 @@ namespace ProjectElectricLocomotive
buttonCancelObject.Click += (s, e) => Close();
}
public void AddEvent(LocomotiveDelegate ev)
public void AddEvent(Action<DrawingLocomotive> ev)
{
if (EventAddLocomotive == null)
{
@ -101,7 +101,6 @@ namespace ProjectElectricLocomotive
{
if (_locomotive == null)
return;
((Label)sender).BackColor = (Color)e.Data.GetData(typeof(Color));
switch (((Label)sender).Name)
{
case "labelSimpleColor":
@ -119,7 +118,7 @@ namespace ProjectElectricLocomotive
}
private void LabelColor_DragEnter(object sender, DragEventArgs e)
{
if (e.Data?.GetDataPresent(typeof(Color)) ?? false)
if ((e.Data?.GetDataPresent(typeof(Color)) ?? false))
{
e.Effect = DragDropEffects.Copy;
}

View File

@ -1,11 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ProjectElectricLocomotive.DrawingObjects;
namespace ProjectElectricLocomotive
{
public delegate void LocomotiveDelegate(DrawingLocomotive locomotive);
}