public void Initialize()
{
var map = GetSection("Map");
string[] size = map.ReadString("Size").Split(',');
FullSize = new Rectangle(int.Parse(size[0]), int.Parse(size[1]), int.Parse(size[2]), int.Parse(size[3]));
Tiles = new TileLayer(FullSize.Width, FullSize.Height);
size = map.ReadString("LocalSize").Split(',');
LocalSize = new Rectangle(int.Parse(size[0]), int.Parse(size[1]), int.Parse(size[2]), int.Parse(size[3]));
Logger.Info("Reading map");
Logger.Debug("Reading tiles");
ReadTiles();
Logger.Debug("Reading map overlay");
ReadOverlay();
Logger.Debug("Reading map terrain objects");
ReadTerrain();
Logger.Debug("Reading map smudge objects");
ReadSmudges();
Logger.Debug("Reading infantry on map");
ReadInfantry();
Logger.Debug("Reading vehicles on map");
ReadUnits();
Logger.Debug("Reading aircraft on map");
ReadAircraft();
Logger.Debug("Reading map structures");
ReadStructures();
Logger.Debug("Waypoints");
ReadWaypoints();
Lighting = new Lighting(GetOrCreateSection("Lighting"));
}