using lab1.Entities; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace lab1.Drawnings; public static class ExtentionDrawningTrackedVehicle { /// /// Разделитель для записи информации по объекту в файл /// private static readonly string _separatorForObject = ":"; /// /// Создание объекта из строки /// /// Строка с данными для создания объекта /// Объект public static DrawningTrackedVehicle? CreateDrawningEntityFighter(this string info) { string[] strs = info.Split(_separatorForObject); EntityTrackedVehicle? fighter = EntityFighter.CreateEntityFighter(strs); if (fighter != null) { return new DrawingEntityFighter((EntityFighter)fighter); } fighter = EntityTrackedVehicle.CreateEntityTrackedVehicle(strs); if (fighter != null) { return new DrawningTrackedVehicle(fighter); } return null; } /// /// Получение данных для сохранения в файл /// /// Сохраняемый объект /// Строка с данными по объекту public static string GetDataForSave(this DrawningTrackedVehicle drawningBaseStormtrooper) { string[]? array = drawningBaseStormtrooper?.EntityTrackedVehicle?.GetStringRepresentation(); if (array == null) { return string.Empty; } return string.Join(_separatorForObject, array); } } internal class DrawingEntityFighter : DrawningTrackedVehicle { public DrawingEntityFighter(EntityTrackedVehicle fighter) : base(fighter) { } }