private void OnLoadImage_Click(object sender, EventArgs e) { using (var loadImage = new GetImageUrlDialog()) { var result = loadImage.ShowDialog(this); if (result == DialogResult.OK && loadImage.LoadedImageUrl != this.mapUrl) { var log = string.Format("Loaded image url '{0}'.", loadImage.LoadedImageUrl); Logger.LogInfo(log); AppendToUILog(log); SetMapImage(loadImage.LoadedImageUrl, loadImage.LoadedImage); var hasFogData = Persistence.PeekServerFogData(loadImage.LoadedImageUrl); if (hasFogData) { var useMapData = MessageBox.Show(this, "Map has been loaded before. Would you like to reload the revealed fog?", "Load Fog Data", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes; if (useMapData) { var fogData = Persistence.LoadServerFogData(loadImage.LoadedImageUrl); if (fogData == null) { TryPurgeMapData(loadImage.LoadedImageUrl); } else { var fogUpdates = fogData.Data.ToFogUpdate(); this.UpdateFogImage(fogUpdates, false); this.pbxMap.Refresh(); } } else { TryPurgeMapData(loadImage.LoadedImageUrl); } } } } }