using ProjectCruiser.Entities; namespace ProjectCruiser.Drawnings { public static class ExtentionDrawningCruiser { /// /// Разделитель для записи информации по объекту в файл /// private static readonly string _separatorForObject = ":"; /// /// Создание объекта из строки /// /// Строка с данными для создания объекта /// Объект public static DrawningCruiser? CreateDrawningCruiser(this string info) { string[] strs = info.Split(_separatorForObject); EntityCruiser? cruiser = EntityMilitaryCruiser.CreateEntityMilitaryCruiser(strs); if (cruiser != null) { return new DrawningMilitaryCruiser(cruiser); } cruiser = EntityCruiser.CreateEntityCruiser(strs); if (cruiser != null) { return new DrawningCruiser(cruiser); } return null; } /// /// Получение данных для сохранения в файл /// /// Сохраняемый объект /// Строка с данными по объекту public static string GetDataForSave(this DrawningCruiser drawningCrusier) { string[]? array = drawningCrusier?.EntityCruiser?.GetStringRepresentation(); if (array == null) { return string.Empty; } return string.Join(_separatorForObject, array); } } }