Фикс ошибки с цветами
This commit is contained in:
@@ -19,12 +19,12 @@ namespace Liner.Drawing
|
||||
/// <param name="deck">Признак наличия доп палубы</param>
|
||||
/// <param name="width">Ширина картинки</param>
|
||||
/// <param name="height">Высота картинки</param>
|
||||
public DrawingBigLiner(int speed, double weight, Color bodyColor, Color bottomColor, bool swimmingPool, bool deck, int width, int height)
|
||||
: base(speed,weight,bodyColor,bottomColor,width,height,100,80)
|
||||
public DrawingBigLiner(int speed, double weight, Color bottomColor, Color bodyColor, bool swimmingPool, bool deck, int width, int height)
|
||||
: base(speed,weight,bodyColor,width,height,100,80)
|
||||
{
|
||||
if(EntityLiner!= null)
|
||||
{
|
||||
EntityLiner = new EntityBigLiner(speed, weight, bodyColor, bottomColor, deck, swimmingPool);
|
||||
EntityLiner = new EntityBigLiner(speed, weight,bottomColor, bodyColor, deck, swimmingPool);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -41,8 +41,8 @@ namespace Liner.Drawing
|
||||
}
|
||||
Pen pen = new(Color.Black);
|
||||
Brush poolBrush = new SolidBrush(Color.Blue);
|
||||
Brush bottomBrush = new SolidBrush(EntityLiner.BottomColor);
|
||||
Brush deckBrush = new SolidBrush(EntityLiner.BodyColor);
|
||||
Brush bottomBrush = new SolidBrush(liner.BottomColor);
|
||||
Brush deckBrush = new SolidBrush(liner.BodyColor);
|
||||
// палуба
|
||||
Point[] firstDeck = {new Point(_startPosX + 30, _startPosY), new Point(_startPosX + 30 + 60, _startPosY),
|
||||
new Point(_startPosX + 30 + 60, _startPosY + 20), new Point(_startPosX + 30, _startPosY + 20)};
|
||||
@@ -76,5 +76,12 @@ namespace Liner.Drawing
|
||||
g.DrawPolygon(pen, bottom);//рисуем нижний корпус
|
||||
if (liner.SwimmingPool) { g.FillPolygon(poolBrush, pool); }//рисуем бассейн
|
||||
}
|
||||
/// <summary>
|
||||
/// установка цвета большого лайнера
|
||||
/// </summary>
|
||||
public void SetAddColor(Color color)
|
||||
{
|
||||
(EntityLiner as EntityBigLiner).BodyColor = color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,32 +63,32 @@ namespace Liner.Drawing
|
||||
/// </summary>
|
||||
/// <param name="speed">Скорость</param>
|
||||
/// <param name="weight">Вес лайнера</param>
|
||||
/// <param name="bodyColor">Основной цвет</param>
|
||||
/// <param name="bottomColor">Основной цвет</param>
|
||||
/// <param name="width">Ширина картинки</param>
|
||||
/// <param name="height">Высота картинки</param>
|
||||
public DrawingLiner(int speed, double weight, Color bodyColor, Color bottomColor, int width, int height)
|
||||
public DrawingLiner(int speed, double weight, Color bottomColor, int width, int height)
|
||||
{
|
||||
_pictureWidth = width;
|
||||
_pictureHeight = height;
|
||||
EntityLiner = new EntityLiner(speed, weight, bodyColor, bottomColor);
|
||||
EntityLiner = new EntityLiner(speed, weight, bottomColor);
|
||||
}
|
||||
/// <summary>
|
||||
/// Конструктор
|
||||
/// </summary>
|
||||
/// <param name="speed">Скорость</param>
|
||||
/// <param name="weight">Вес лайнера</param>
|
||||
/// <param name="bodyColor">Основной цвет</param>
|
||||
/// <param name="bottomColor">Основной цвет</param>
|
||||
/// <param name="width">Ширина картинки</param>
|
||||
/// <param name="height">Высота картинки</param>
|
||||
/// <param name="linerWidth">Ширина прорисовки лайнера</param>
|
||||
/// <param name="linerHeight">Высота прорисовки лайнера</param>
|
||||
protected DrawingLiner(int speed, double weight, Color bodyColor, Color bottomColor, int width, int height,int linerWidth,int linerHeight)
|
||||
protected DrawingLiner(int speed, double weight, Color bottomColor, int width, int height,int linerWidth,int linerHeight)
|
||||
{
|
||||
_linerHeight = linerHeight;
|
||||
_linerWidth = linerWidth;
|
||||
_pictureWidth = width;
|
||||
_pictureHeight = height;
|
||||
EntityLiner = new EntityLiner(speed, weight, bodyColor, bottomColor);
|
||||
EntityLiner = new EntityLiner(speed, weight, bottomColor);
|
||||
}
|
||||
/// <summary>
|
||||
/// Установка позиции
|
||||
@@ -113,8 +113,8 @@ namespace Liner.Drawing
|
||||
return;
|
||||
}
|
||||
Pen pen = new(Color.Black);
|
||||
Brush bottomBrush = new SolidBrush(EntityLiner.BottomColor);
|
||||
Brush deckBrush = new SolidBrush(EntityLiner.BodyColor);
|
||||
Brush bottomBrush = new SolidBrush(EntityLiner.BottomColor);
|
||||
Brush deckBrush = new SolidBrush(Color.Black);//черная палуба по умолчанию
|
||||
// палуба
|
||||
Point[] firstDeck = {new Point(_startPosX + 30, _startPosY), new Point(_startPosX + 30 + 60, _startPosY),
|
||||
new Point(_startPosX + 30 + 60, _startPosY + 20), new Point(_startPosX + 30, _startPosY + 20)};
|
||||
|
||||
@@ -17,6 +17,10 @@ namespace Liner.Entities
|
||||
/// </summary>
|
||||
public bool Deck { get; private set; }
|
||||
/// <summary>
|
||||
/// Доп цвет
|
||||
/// </summary>
|
||||
public Color BodyColor { get; set; }
|
||||
/// <summary>
|
||||
/// Конструктор с параметрами
|
||||
/// </summary>
|
||||
/// <param name="speed">Скорость</param>
|
||||
@@ -25,10 +29,11 @@ namespace Liner.Entities
|
||||
/// <param name="bottomColor">Дополнительный цвет</param>
|
||||
/// <param name="deck">Признак наличия доп палубы</param>
|
||||
/// <param name="swimmingPool">Признак наличия бассейна</param>
|
||||
public EntityBigLiner(int speed, double weight, Color bodyColor, Color bottomColor,bool deck, bool swimmingPool) : base(speed, weight, bodyColor,bottomColor)
|
||||
public EntityBigLiner(int speed, double weight, Color bottomColor,Color bodyColor,bool deck, bool swimmingPool) : base(speed, weight, bottomColor)
|
||||
{
|
||||
Deck = deck;
|
||||
SwimmingPool = swimmingPool;
|
||||
BodyColor = bodyColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,10 +20,6 @@ namespace Liner.Entities
|
||||
/// <summary>
|
||||
/// Основной цвет
|
||||
/// </summary>
|
||||
public Color BodyColor { get; set; }
|
||||
/// <summary>
|
||||
/// Доп цвет
|
||||
/// </summary>
|
||||
public Color BottomColor { get; set; }
|
||||
/// <summary>
|
||||
/// Шаг
|
||||
@@ -34,13 +30,11 @@ namespace Liner.Entities
|
||||
/// </summary>
|
||||
/// <param name="speed">Скорость</param>
|
||||
/// <param name="weight">Вес лайнера</param>
|
||||
/// <param name="bodyColor">Основной цвет</param>
|
||||
/// <param name="bottomColor">Доп цвет</param>
|
||||
public EntityLiner(int speed, double weight, Color bodyColor, Color bottomColor)
|
||||
/// <param name="bottomColor">Основной цвет</param>
|
||||
public EntityLiner(int speed, double weight, Color bottomColor)
|
||||
{
|
||||
Speed = speed;
|
||||
Weight = weight;
|
||||
BodyColor = bodyColor;
|
||||
BottomColor = bottomColor;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,7 +113,7 @@ namespace Liner
|
||||
{
|
||||
case "labelSimpleObject":
|
||||
_liner = new DrawingLiner((int)numericUpDownSpeed.Value,
|
||||
(int)numericUpDownWeight.Value, Color.White, Color.Black, pictureBoxObject.Width,
|
||||
(int)numericUpDownWeight.Value, Color.White, pictureBoxObject.Width,
|
||||
pictureBoxObject.Height);
|
||||
break;
|
||||
case "labelModifiedObject":
|
||||
@@ -150,7 +150,7 @@ namespace Liner
|
||||
case "labelAddColor":
|
||||
if (!(_liner is DrawingBigLiner))
|
||||
return;
|
||||
(_liner as DrawingBigLiner).EntityLiner.BodyColor = (Color)e.Data.GetData(typeof(Color));
|
||||
(_liner as DrawingBigLiner).SetAddColor((Color)e.Data.GetData(typeof(Color)));
|
||||
break;
|
||||
}
|
||||
DrawLiner();
|
||||
|
||||
@@ -55,7 +55,7 @@ namespace Liner
|
||||
addColor = dialog.Color;
|
||||
}
|
||||
_drawingLiner = new DrawingLiner(random.Next(100, 300),
|
||||
random.Next(1000, 3000), mainColor, addColor,
|
||||
random.Next(1000, 3000), mainColor,
|
||||
pictureBoxLiner.Width, pictureBoxLiner.Height);
|
||||
_drawingLiner.SetPosition(random.Next(10, 100), random.Next(10, 100));
|
||||
Draw();
|
||||
|
||||
Reference in New Issue
Block a user