public void LoadMap(Form loader = null) { lock (multiBoard) { if (loader == null || loader.ShowDialog() == DialogResult.OK) { if (!multiBoard.DeviceReady) { ribbon.SetEnabled(true); ribbon.SetOptions(UserSettings.useMiniMap, UserSettings.emulateParallax, UserSettings.useSnapping, ApplicationSettings.randomTiles, ApplicationSettings.InfoMode); if (FirstMapLoaded != null) { FirstMapLoaded.Invoke(); } multiBoard.Start(); backupMan.Start(); } multiBoard.SelectedBoard.SelectedPlatform = multiBoard.SelectedBoard.SelectedLayerIndex == -1 ? -1 : multiBoard.SelectedBoard.Layers[multiBoard.SelectedBoard.SelectedLayerIndex].zMList.ElementAt(0); ribbon.SetLayers(multiBoard.SelectedBoard.Layers); ribbon.SetSelectedLayer(multiBoard.SelectedBoard.SelectedLayerIndex, multiBoard.SelectedBoard.SelectedPlatform, multiBoard.SelectedBoard.SelectedAllLayers, multiBoard.SelectedBoard.SelectedAllPlatforms); ribbon.SetHasMinimap(multiBoard.SelectedBoard.MinimapRectangle != null); multiBoard.SelectedBoard.VisibleTypes = ApplicationSettings.theoreticalVisibleTypes; multiBoard.SelectedBoard.EditedTypes = ApplicationSettings.theoreticalEditedTypes; ParseVisibleEditedTypes(); multiBoard.Focus(); } } }