63 lines
2.2 KiB
C#
63 lines
2.2 KiB
C#
namespace ProjectGasolineTanker.Entities;
|
||
/// <summary>
|
||
/// Класс-сущность "Бензовоз"
|
||
/// </summary>
|
||
public class EntityGasolineTanker : EntityTruck
|
||
{
|
||
/// <summary>
|
||
/// Дополнительный цвет (для опциональных элементов)
|
||
/// </summary>
|
||
public Color AdditionalColor { get; private set; }
|
||
|
||
public void SetAdditionalColor(Color color)
|
||
{
|
||
AdditionalColor = color;
|
||
}
|
||
/// <summary>
|
||
/// Признак (опция) наличия бака под бензин
|
||
/// </summary>
|
||
public bool GasTank { get; private set; }
|
||
/// <summary>
|
||
/// Признак (опция) наличия сигнального маяка на кабине
|
||
/// </summary>
|
||
public bool SignalBeacon { get; private set; }
|
||
/// <summary>
|
||
/// Шаг перемещения бензовоза
|
||
/// </summary>
|
||
public double Step => Speed * 200 / Weight;
|
||
|
||
public EntityGasolineTanker(int speed, double weight, Color bodyColor, Color additionalColor, bool gasTank, bool signalBeacon) : base(speed, weight, bodyColor)
|
||
|
||
{
|
||
AdditionalColor = additionalColor;
|
||
GasTank = gasTank;
|
||
SignalBeacon = signalBeacon;
|
||
}
|
||
|
||
/// <summary>
|
||
/// Получение строк со значениями свойств объекта класса-сущности
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public override string[] GetStringRepresentation()
|
||
{
|
||
return new string[] {nameof(EntityGasolineTanker), Speed.ToString(), Weight.ToString(), BodyColor.Name, AdditionalColor.Name, GasTank.ToString(), SignalBeacon.ToString()};
|
||
}
|
||
|
||
/// <summary>
|
||
/// Создание объекта из массива строк
|
||
/// </summary>
|
||
/// <param name="strs"></param>
|
||
/// <returns></returns>
|
||
public static EntityGasolineTanker? CreateEntityGasolineTanker(string[] strs)
|
||
{
|
||
if (strs.Length != 7 || strs[0] != nameof(EntityGasolineTanker))
|
||
{
|
||
return null;
|
||
}
|
||
return new EntityGasolineTanker(Convert.ToInt32(strs[1]), Convert.ToDouble(strs[2]), Color.FromName(strs[3]), Color.FromName(strs[4]), Convert.ToBoolean(strs[5]), Convert.ToBoolean(strs[6]));
|
||
}
|
||
|
||
|
||
}
|
||
|