using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ProjectElectroTrans.Entities; internal class EntityElectroTrans : EntityTrans { /// /// Дополнительный цвет (для опциональных элементов) /// public Color AdditionalColor { get; private set; } /// /// установка доп. цвета /// /// public void setAdditionalColor(Color color) { AdditionalColor = color; } /// /// Признак (опция) подняты ли рога /// public bool Horns { get; private set; } /// /// Признак (опция) налиция батерей /// public bool Battery { get; private set; } /// /// Конструктор сущности /// /// Скорость /// Вес автомобиля /// Основной цвет /// /// Дополнительный цвет /// Признак активности усов /// Признак наличия батарей public EntityElectroTrans(int speed, double weight, Color bodyColor, Color additionalColor, bool horns, bool battery) : base(speed, weight, bodyColor) { AdditionalColor = additionalColor; Horns = horns; Battery = battery; } /// /// Получение строк со значениями свойств объекта класса-сущности /// /// public override string[] GetStringRepresentation() { return new[] { nameof(EntityElectroTrans), Speed.ToString(), Weight.ToString(), BodyColor.Name, AdditionalColor.Name, Horns.ToString(), Battery.ToString() }; } /// /// Создание объекта из массива строк /// /// /// public static EntityTrans? CreateEntityElectroTrans(string[] strs) { if (strs.Length != 7 || strs[0] != nameof(EntityElectroTrans)) { return null; } return new EntityElectroTrans(Convert.ToInt32(strs[1]), Convert.ToDouble(strs[2]), Color.FromName(strs[3]), Color.FromName(strs[4]), Convert.ToBoolean(strs[5]), Convert.ToBoolean(strs[5])); } }