namespace ProjectStormtrooper.Entities; /// /// Класс-сущность "Штурмовик" /// public class EntityStormtrooper: EntityStormtrooperBase { public Color AdditionalColor { get; private set; } public void SetAdditionalColor(Color additionalColor) { AdditionalColor = additionalColor; } /// /// Признак (опция) наличия ракет /// public bool Rockets { get; private set; } /// /// Признак (опция) наличия бомб /// public bool Bombs { get; private set; } /// /// Инициализация полей объекта-класса штурмовик /// /// Скорость /// Вес /// Основной цвет /// Дополнительный цвет /// Признак наличия ракет /// Признак наличия бомб public EntityStormtrooper(int speed, double weight, Color bodyColor, Color additionalColor, bool rockets, bool bombs):base(speed, weight, bodyColor) { AdditionalColor = additionalColor; Rockets = rockets; Bombs = bombs; } /// /// Получение строк со значениями свойств объекта класса-сущности /// /// public override string[] GetStringRepresentation() { return new[] { nameof(EntityStormtrooper), Speed.ToString(), Weight.ToString(), BodyColor.Name, AdditionalColor.Name, Bombs.ToString(), Rockets.ToString() }; } /// /// Создание объекта из массива строк /// /// /// public static EntityStormtrooper? CreateEntityStormtrooper(string[] strs) { if (strs.Length != 7 || strs[0] != nameof(EntityStormtrooper)) { return null; } return new EntityStormtrooper(Convert.ToInt32(strs[1]), Convert.ToDouble(strs[2]), Color.FromName(strs[3]), Color.FromName(strs[4]), Convert.ToBoolean(strs[5]), Convert.ToBoolean(strs[6])); } }