база + доп отрисовка

This commit is contained in:
Мельников Игорь 2022-12-20 18:40:39 +04:00
parent 903f8f6e46
commit 065dd3cc40
5 changed files with 34 additions and 8 deletions

View File

@ -6,6 +6,10 @@
public int WheelsNum public int WheelsNum
{ {
get
{
return (int)wheelsNumber;
}
set set
{ {
if (value < 2 || value > 4) if (value < 2 || value > 4)

View File

@ -6,6 +6,10 @@
public int WheelsNum public int WheelsNum
{ {
get
{
return (int)wheelsNumber;
}
set set
{ {
if (value < 2 || value > 4) if (value < 2 || value > 4)

View File

@ -6,6 +6,10 @@
public int WheelsNum public int WheelsNum
{ {
get
{
return (int)wheelsNumber;
}
set set
{ {
if (value < 2 || value > 4) if (value < 2 || value > 4)

View File

@ -17,7 +17,7 @@
public static string GetDataForSave(this DrawningLocomotive drawningLocomotive) public static string GetDataForSave(this DrawningLocomotive drawningLocomotive)
{ {
var locomotive = drawningLocomotive.Locomotive; var locomotive = drawningLocomotive.Locomotive;
var str = $"{locomotive.Speed}{_separatorForObject}{locomotive.Weight}{_separatorForObject}{locomotive.BodyColor.Name}"; var str = $"{locomotive.Speed}{_separatorForObject}{locomotive.Weight}{_separatorForObject}{locomotive.BodyColor.Name}{_separatorForObject}{drawningLocomotive.AdditionalElements.WheelsNum}{_separatorForObject}{drawningLocomotive.AdditionalElements.GetType().Name}";
if (locomotive is not EntityWarmlyLocomotive warmlyLocomotive) if (locomotive is not EntityWarmlyLocomotive warmlyLocomotive)
{ {
return str; return str;
@ -32,19 +32,33 @@
public static DrawningLocomotive CreateDrawningLocomotive(this string info) public static DrawningLocomotive CreateDrawningLocomotive(this string info)
{ {
string[] strs = info.Split(_separatorForObject); string[] strs = info.Split(_separatorForObject);
if (strs.Length == 3) DrawningLocomotive recreatedLocomotive = null;
if (strs.Length == 5)
{ {
return new DrawningLocomotive(Convert.ToInt32(strs[0]), Convert.ToInt32(strs[1]), Color.FromName(strs[2])); recreatedLocomotive = new DrawningLocomotive(Convert.ToInt32(strs[0]), Convert.ToInt32(strs[1]), Color.FromName(strs[2]));
} }
if (strs.Length == 6) if (strs.Length == 8)
{ {
return new DrawningWarmlyLocomotive recreatedLocomotive = new DrawningWarmlyLocomotive
( (
Convert.ToInt32(strs[0]), Convert.ToInt32(strs[1]), Color.FromName(strs[2]), 160, 85, Convert.ToInt32(strs[0]), Convert.ToInt32(strs[1]), Color.FromName(strs[2]), 160, 85,
Color.FromName(strs[3]), Convert.ToBoolean(strs[4]), Convert.ToBoolean(strs[5]) Color.FromName(strs[5]), Convert.ToBoolean(strs[6]), Convert.ToBoolean(strs[7])
); );
} }
return null; switch (strs[4])
{
case "DrawningWheels":
recreatedLocomotive.AdditionalElements = new DrawningWheels();
break;
case "DrawningRectOrnament":
recreatedLocomotive.AdditionalElements = new DrawningRectOrnament();
break;
case "DrawningEllipseOrnament":
recreatedLocomotive.AdditionalElements = new DrawningEllipseOrnament();
break;
}
recreatedLocomotive.AdditionalElements.WheelsNum = Convert.ToInt32(strs[3]);
return recreatedLocomotive;
} }
} }
} }

View File

@ -8,7 +8,7 @@
/// <summary> /// <summary>
/// Свойство получения количества колёс /// Свойство получения количества колёс
/// </summary> /// </summary>
public int WheelsNum { set; } public int WheelsNum { get; set; }
/// <summary> /// <summary>
/// Отрисовка колёс /// Отрисовка колёс
/// </summary> /// </summary>