using AntiAircraftGun.Drawnings; namespace AntiAircraftGun.Entities; /// /// Класс-сущность Зенитная установка /// public class EntityAntiAircraftGun : EntityArmoredCar { /// /// Дополниетльный цвет /// public Color AdditionalColor { get; private set; } /// /// Метод передачи дополнительного цвета /// /// public void setAdditionalColor(Color color) { AdditionalColor = color; } /// /// Наличие башни /// public bool Tower { get; private set; } /// /// Наличие радара /// public bool Radar { get; private set; } /// /// Инициализация полей объекта-класса зенитной установки /// /// Скорость /// Вес /// Основной цвет /// Дополнительный цвет /// Наличие башни /// Наличие радара public EntityAntiAircraftGun(int speed, double weight, Color bodyColor, bool radar, bool tower, Color additionalColor) : base(speed, weight, bodyColor) { Radar = radar; Tower = tower; AdditionalColor = additionalColor; } /// /// Получение строк со значениями свойств продвинутого объекта класса-сущности /// /// public override string[] GetStringRepresentation() { return new[] { nameof(EntityAntiAircraftGun), Speed.ToString(), Weight.ToString(), BodyColor.Name, Tower.ToString(), Radar.ToString(), AdditionalColor.Name}; } /// /// Создание продвинутого объекта из массива строк /// /// /// public static EntityAntiAircraftGun? CreateEntityAntiAircraftGun(string[] strs) { if (strs.Length != 7 || strs[0] != nameof(EntityAntiAircraftGun)) { return null; } return new EntityAntiAircraftGun(Convert.ToInt32(strs[1]), Convert.ToDouble(strs[2]), Color.FromName(strs[3]), Convert.ToBoolean(strs[4]), Convert.ToBoolean(strs[5]),Color.FromName(strs[6])); } }