70 lines
2.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using AntiAircraftGun.Drawnings;
namespace AntiAircraftGun.Entities;
/// <summary>
/// Класс-сущность Зенитная установка
/// </summary>
public class EntityAntiAircraftGun : EntityArmoredCar
{
/// <summary>
/// Дополниетльный цвет
/// </summary>
public Color AdditionalColor { get; private set; }
/// <summary>
/// Метод передачи дополнительного цвета
/// </summary>
/// <param name="color"></param>
public void setAdditionalColor(Color color)
{
AdditionalColor = color;
}
/// <summary>
/// Наличие башни
/// </summary>
public bool Tower { get; private set; }
/// <summary>
/// Наличие радара
/// </summary>
public bool Radar { get; private set; }
/// <summary>
/// Инициализация полей объекта-класса зенитной установки
/// </summary>
/// <param name="speed">Скорость</param>
/// <param name="weight">Вес</param>
/// <param name="bodyColor">Основной цвет</param>
/// <param name="additionalColor">Дополнительный цвет</param>
/// <param name="tower">Наличие башни</param>
/// <param name="radar">Наличие радара</param>
public EntityAntiAircraftGun(int speed, double weight, Color bodyColor, bool radar, bool tower, Color additionalColor) : base(speed, weight, bodyColor)
{
Radar = radar;
Tower = tower;
AdditionalColor = additionalColor;
}
/// <summary>
/// Получение строк со значениями свойств продвинутого объекта класса-сущности
/// </summary>
/// <returns></returns>
public override string[] GetStringRepresentation()
{
return new[] { nameof(EntityAntiAircraftGun), Speed.ToString(), Weight.ToString(), BodyColor.Name, Tower.ToString(), Radar.ToString(), AdditionalColor.Name};
}
/// <summary>
/// Создание продвинутого объекта из массива строк
/// </summary>
/// <param name="strs"></param>
/// <returns></returns>
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]));
}
}