private void VisualizeSimulationGridFromImportedData(List <NodeCreationData> importedData) { SimulationGrid.Children.Clear(); for (var index = importedData.Count - 1; index >= 0; index--) { var component = importedData[index]; foreach ((int, int)cell in component.Cell) { var(row, col) = cell; var enabledRectangle = new MutantRectangle(cell, new ImageBrush { ImageSource = BuildingComponentsHelper.GetBuildingComponentImage(component.Type), Stretch = Stretch.Fill }); Grid.SetRow(enabledRectangle, row); Grid.SetColumn(enabledRectangle, col); SimulationGrid.Children.Add(enabledRectangle); } } ConvertToSettingsService.SerializedToCreation(importedData); EnableNextButton(); }
private void Export_Click(object sender, RoutedEventArgs e) { var data = ConvertToSettingsService.Serialize(); if (!data.Any()) { MessageBox.Show( "There is nothing to be exported! You should draw something on the simulation grid first!"); return; } ImportExportSimulation(GetDialogInformation <SaveFileDialog>(), data); }
private void SwitchTab(MainWindow obj) { if (ConvertToSettingsService.NodesCreationData.Count == 0) { ConvertToSettingsService.ConvertToCreationData(); } FlightsView.IncomingPickUpAreasComboBox.ItemsSource = ConvertToSettingsService.GetAvailablePickUpAreas(); FlightsView.OutgoingGatesComboBox.ItemsSource = ConvertToSettingsService.GetAvailableGates(); FlightsView.IncomingGatesComboBox.ItemsSource = ConvertToSettingsService.GetAvailableGates(); DisableBuildingComponentsButtons(); MainTabMenu.SelectedIndex = 1; }
private void ClearGridButton_Click(object sender, RoutedEventArgs e) { InitializeClickableGridCells(); ConvertToSettingsService.ClearNodesSerializedData(); ConvertToSettingsService.ClearNodesCreationData(); SimulationGridOptions.CanBuildCheckIn = true; SimulationGridOptions.CanBuildConveyor = true; SimulationGridOptions.CanBuildManyToOneConveyor = true; SimulationGridOptions.CanBuildPsc = true; SimulationGridOptions.CanBuildAsc = true; SimulationGridOptions.CanBuildAa = true; SimulationGridOptions.CanBuildPickUp = true; SimulationGridOptions.CanBuildMpa = true; SimulationGridOptions.CanBuildBridge = true; }
private void ImportExportSimulation( FileDialog fileDialog, IReadOnlyCollection <NodeCreationData> data = null, bool export = true) { fileDialog.ShowDialog(); if (string.IsNullOrEmpty(fileDialog.FileName)) { return; } Stream stream = null; if (fileDialog is SaveFileDialog saveDialog) { stream = saveDialog.OpenFile(); } else if (fileDialog is OpenFileDialog openDialog) { stream = openDialog.OpenFile(); } try { using (var fs = stream ?? new FileStream("../../simulationImportExportFile", FileMode.OpenOrCreate, FileAccess.ReadWrite)) { if (export) { new BinaryFormatter().Serialize(fs, data ?? new List <NodeCreationData>()); ConvertToSettingsService.ClearNodesSerializedData(); } else { var bf = new BinaryFormatter(); var importedData = (List <NodeCreationData>)bf.Deserialize(fs); VisualizeSimulationGridFromImportedData(importedData); // TODO : VisualizeSimulationGridFromImportedData(importedData) } } } catch (Exception ex) { Logger.Error(ex); } }