// Edit Exterior Configuration private void BtEditExteriorConfiguration_OnClick(object sender, RoutedEventArgs e) { Hide(); try { if (CbExteriorConfigurations.SelectedIndex == -1) { return; } var selected = (ExteriorConfiguration)CbExteriorConfigurations.SelectedItem; var selectedIndex = CbExteriorConfigurations.SelectedIndex; ExteriorConfigurationWin win = new ExteriorConfigurationWin(selected) { Title = ModPlusAPI.Language.GetItem(LangItem, "h15") }; var result = win.ShowDialog(); if (result == true) { _exteriorConfigurations.RemoveAt(selectedIndex); _exteriorConfigurations.Insert(selectedIndex, win.CurrentExteriorConfiguration); CbExteriorConfigurations.ItemsSource = _exteriorConfigurations; CbExteriorConfigurations.SelectedIndex = selectedIndex; SettingsFile.SaveExteriorConfigurations(_exteriorConfigurations); } } catch (Exception exception) { ExceptionBox.Show(exception); } finally { ShowDialog(); } }
// delete configuration private void BtDeleteExteriorConfiguration_OnClick(object sender, RoutedEventArgs e) { if (CbExteriorConfigurations.SelectedIndex == -1) { return; } var selected = (ExteriorConfiguration)CbExteriorConfigurations.SelectedItem; var selectedIndex = CbExteriorConfigurations.SelectedIndex; if (ModPlusAPI.Windows.MessageBox.ShowYesNo( ModPlusAPI.Language.GetItem(LangItem, "h12") + " \"" + selected.Name + "\" " + ModPlusAPI.Language.GetItem(LangItem, "h13") + Environment.NewLine + ModPlusAPI.Language.GetItem(LangItem, "h14"), ModPlusAPI.Language.GetItem(LangItem, "attention"))) { _exteriorConfigurations.RemoveAt(selectedIndex); CbExteriorConfigurations.ItemsSource = _exteriorConfigurations; if (selectedIndex >= 1) { CbExteriorConfigurations.SelectedIndex = selectedIndex - 1; } SettingsFile.SaveExteriorConfigurations(_exteriorConfigurations); if (!_exteriorConfigurations.Any()) { BtDeleteExteriorConfiguration.IsEnabled = false; BtEditExteriorConfiguration.IsEnabled = false; } } }
// Add new Exterior Configuration private void BtAddNewExteriorConfiguration_OnClick(object sender, RoutedEventArgs e) { Hide(); try { ExteriorConfigurationWin win = new ExteriorConfigurationWin { Title = ModPlusAPI.Language.GetItem(LangItem, "h11") }; var result = win.ShowDialog(); if (result == true) { _exteriorConfigurations.Add(win.CurrentExteriorConfiguration); CbExteriorConfigurations.ItemsSource = _exteriorConfigurations; CbExteriorConfigurations.SelectedIndex = CbExteriorConfigurations.Items.Count - 1; SettingsFile.SaveExteriorConfigurations(_exteriorConfigurations); BtDeleteExteriorConfiguration.IsEnabled = true; BtEditExteriorConfiguration.IsEnabled = true; } } catch (Exception exception) { ExceptionBox.Show(exception); } finally { ShowDialog(); } }