PIbd-14_Pruidze_I.K_Simple_.../ProjectCruiser/DrawningSamples/ExtentionDrShip.cs

42 lines
1.4 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 ProjectCruiser.Entities;
namespace ProjectCruiser.DrawningSamples;
public static class ExtentionDrShip
{
// Разделитель для записи информации по объекту в файл
private static readonly string _separatorForObject = ":";
// Создание объекта из строки
public static DrawningBase? CreateDrawningCar(this string info)
{
string[] strs = info.Split(_separatorForObject);
EntityBase? ship = EntityCruiser.CreateEntity(strs);
if (ship != null)
{
return new DrawningCruiser((EntityCruiser)ship);
}
ship = EntityBase.CreateEntity(strs);
if (ship != null)
{
return new DrawningBase(ship);
}
return null;
}
// Получение данных для сохранения в файл
public static string GetDataForSave(this DrawningBase drShip)
// метод расширения за счёт ключевого слова 'this'
// вызов метода достигается не через имя класса,
// а при вызове у объекта типа DrawningBase [*]
{
string[]? array = drShip?.EntityTransport?.GetStringRepresentation();
if (array == null)
{
return string.Empty;
}
return string.Join(_separatorForObject, array);
}
}