private void Initialize(int level, Point? startTile)
{
CurrentLevel = level;
CurrentMap = Data.Maps[level];
legacyTileCreator = new LegacyTileCreator(this);
WallActuatorCreator = new WallActuatorCreator(this);
FloorActuatorCreator = new FloorActuatorCreator(this);
ItemCreator = new LegacyItemCreator(this);
creatures = new List<Creature>();
InitializeMapTextures();
outputTiles = new List<Tile>();
stack = new Stack<TileInfo<TileData>>();
start = startTile ?? new Point(Data.StartPosition.Position.X, Data.StartPosition.Position.Y);
TilesPositions = new Dictionary<Point, Tile>();
bitMap = new BitMapMemory(CurrentMap.OffsetX, CurrentMap.OffsetY, CurrentMap.Width, CurrentMap.Height);
}