private void ProcessMapData()
        {
            var offset = new Point(CurrentMap.OffsetX, CurrentMap.OffsetY);

            for (int y = 0; y < CurrentMap.Height; y++)
            {
                for (int x = 0; x < CurrentMap.Width; x++)
                {
                    var pos  = new Point(x, y) + offset;
                    var tile = TileCreator.GetTile(new TileInfo <TileData>
                    {
                        Position = pos,
                        Tile     = CurrentMap.GetTileData(pos)
                    });

                    if (tile != null)
                    {
                        TilePositions.Add(pos, tile);
                    }
                }
            }
        }