using AntiAircraftGun.Entities; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace AntiAircraftGun.Drawnings; /// <summary> /// Расширение для класса EntityArmoredCar /// </summary> public static class ExtentionDrawningArmoredCar { /// <summary> /// Разделитель для записи информации по объекту в файл /// </summary> private static readonly string _separatorForObject = ":"; /// <summary> /// Создание объекта из строки /// </summary> /// <param name="info">Строка с данными для создания объекта</param> /// <returns>Объект</returns> public static DrawningArmoredCar? CreateDrawningArmoredCar(this string info) { string[] strs = info.Split(_separatorForObject); DrawningArmoredCar? armoredCar = EntityAntiAircraftGun.CreateEntityAntiAircraftGun(strs); if (armoredCar != null) { return new DrawningAntiAircraftGun(armoredCar); } armoredCar = DrawningArmoredCar.CreateEntityArmoredCar(strs); if (armoredCar != null) { return new DrawningArmoredCar(armoredCar); } return null; } /// <summary> /// Получение данных для сохранения в файл /// </summary> /// <param name="armoredCar">Сохраняемый объект</param> /// <returns>Строка с данными по объекту</returns> public static string GetDataForSave(this DrawningArmoredCar drawningArmoredCar) { string[]? array = drawningArmoredCar?.EntityAircraftGun?.GetStringRepresentation(); if (array == null) { return string.Empty; } return string.Join(_separatorForObject, array); } }