Изменена загрузка карты
This commit is contained in:
parent
69caa4463d
commit
93d704a1b8
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user