namespace ProjectCruiser.Entities; public class EntityCruiser : EntityBase { public Color AdditionalColor { get; private set; } // доп. цвет public void setAdditionalColor(Color clr) { AdditionalColor = clr; } // признаки (наличия) public bool HelicopterPads { get; private set; } // вертолетная площадка public bool Hangars { get; private set; } // ангар public EntityCruiser(int speed, double weight, Color mainc, Color additionalColor, bool pad, bool hangars) : base(speed, weight, mainc) { AdditionalColor = additionalColor; HelicopterPads = pad; // non-default now for editor Form3 Hangars = hangars; } // Получение массива строк со значениями свойств // объекта : тип (название класса), скорость, вес, осн. цвет [*], // доп. цвет, истинность наличия площадки и (,) ангаров. public override string[] GetStringRepresentation() // :O { return new[] { nameof(EntityCruiser), Speed.ToString(), Weight.ToString(), MainColor.Name, AdditionalColor.Name, HelicopterPads.ToString(), Hangars.ToString()}; } // decoding string to object public static EntityCruiser? CreateEntity(string[] parameters) { if (parameters.Length != 7 || parameters.Length == 0 || parameters[0] != "EntityCruiser") return null; return new EntityCruiser(Convert.ToInt32(parameters[1]), Convert.ToDouble(parameters[2]), Color.FromName(parameters[3]), Color.FromName(parameters[4]), Convert.ToBoolean(parameters[5]), Convert.ToBoolean(parameters[6])); } }