Agliullov D. A. Lab Work 6 Base #14

Merged
eegov merged 16 commits from Lab6 into Lab5 2022-11-07 11:37:06 +04:00
Showing only changes of commit dac9f0463e - Show all commits

View File

@ -110,39 +110,34 @@ namespace AirBomber
{
throw new FileNotFoundException("Файл не найден");
}
List<string> strs = new List<string>();
using (StreamReader fs = new(filename))
{
if (!fs.ReadLine().Contains("MapsCollection"))
{
//если нет такой записи, то это не те данные
throw new FileFormatException("Формат данных в файле не правильный");
}
//очищаем записи
_mapStorages.Clear();
while (!fs.EndOfStream)
{
strs.Add(fs.ReadLine());
var elem = fs.ReadLine().Split(separatorDict);
AbstractMap map = null;
switch (elem[1])
{
case "SimpleMap":
map = new SimpleMap();
break;
case "WallMap":
map = new WallMap();
break;
}
_mapStorages.Add(elem[0], new
MapWithSetAirplanesGeneric<IDrawningObject, AbstractMap>(_pictureWidth, _pictureHeight, map));
_mapStorages[elem[0]].LoadData(elem[2].Split(separatorData,
StringSplitOptions.RemoveEmptyEntries));
}
}
if (!strs[0].Contains("MapsCollection"))
{
//если нет такой записи, то это не те данные
throw new FileFormatException("Формат данных в файле не правильный");
}
//очищаем записи
_mapStorages.Clear();
for (int i = 1; i < strs.Count; ++i)
{
var elem = strs[i].Split(separatorDict);
AbstractMap map = null;
switch (elem[1])
{
case "SimpleMap":
map = new SimpleMap();
break;
case "WallMap":
map = new WallMap();
break;
}
_mapStorages.Add(elem[0], new
MapWithSetAirplanesGeneric<IDrawningObject, AbstractMap>(_pictureWidth, _pictureHeight, map));
_mapStorages[elem[0]].LoadData(elem[2].Split(separatorData,
StringSplitOptions.RemoveEmptyEntries));
}
}
}
}