public OptimizeWindow(Character c) { InitializeTalentList(c); InitializeComponent(); #if !SILVERLIGHT this.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner; this.WindowState = System.Windows.WindowState.Normal; this.ResizeMode = System.Windows.ResizeMode.NoResize; #endif character = c; optimizer = new ItemInstanceOptimizer(); optimizer.OptimizeCharacterProgressChanged += new OptimizeCharacterProgressChangedEventHandler(optimizer_OptimizeCharacterProgressChanged); optimizer.OptimizeCharacterCompleted += new OptimizeCharacterCompletedEventHandler(optimizer_OptimizeCharacterCompleted); optimizer.ComputeUpgradesProgressChanged += new ComputeUpgradesProgressChangedEventHandler(optimizer_ComputeUpgradesProgressChanged); optimizer.ComputeUpgradesCompleted += new ComputeUpgradesCompletedEventHandler(optimizer_ComputeUpgradesCompleted); List <string> calcsToOptimizeStrings = new List <string>(); calcsToOptimizeStrings.Add("Overall Rating"); foreach (string subpoints in Calculations.SubPointNameColors.Keys) { calcsToOptimizeStrings.Add(subpoints + " Rating"); } CalculationToOptimizeCombo.Tag = Calculations.SubPointNameColors.Count; CalculationToOptimizeCombo.ItemsSource = calcsToOptimizeStrings; CalculationToOptimizeCombo.SelectedIndex = 0; ThoroughnessSlider.Value = OptimizerSettings.Default.Thoroughness; CK_Override_Regem.IsChecked = OptimizerSettings.Default.OverrideRegem; CK_Override_Reenchant.IsChecked = OptimizerSettings.Default.OverrideReenchant; CK_Override_Reforge.IsChecked = OptimizerSettings.Default.OverrideReforge; string calculationString = character.CalculationToOptimize; if (string.IsNullOrEmpty(calculationString)) { calculationString = OptimizerSettings.Default.CalculationToOptimize; } if (calculationString != null) { if (calculationString.StartsWith("[Overall]")) { CalculationToOptimizeCombo.SelectedIndex = 0; } else if (calculationString.StartsWith("[SubPoint ")) { calculationString = calculationString.Substring(10).TrimEnd(']'); int index = int.Parse(calculationString); if (index < Calculations.SubPointNameColors.Count) { CalculationToOptimizeCombo.SelectedIndex = index + 1; } } else { if (Array.IndexOf(Calculations.OptimizableCalculationLabels, calculationString) >= 0) { CalculationToOptimizeCombo.SelectedItem = calculationString; } } } if (character.OptimizationRequirements != null) { foreach (OptimizationRequirement requirement in character.OptimizationRequirements) { AddRequirement(requirement); } } }
public OptimizeWindow(Character c) { InitializeTalentList(c); InitializeComponent(); #if !SILVERLIGHT this.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner; this.WindowState = System.Windows.WindowState.Normal; this.ResizeMode = System.Windows.ResizeMode.NoResize; #endif character = c; optimizer = new ItemInstanceOptimizer(); optimizer.OptimizeCharacterProgressChanged += new OptimizeCharacterProgressChangedEventHandler(optimizer_OptimizeCharacterProgressChanged); optimizer.OptimizeCharacterCompleted += new OptimizeCharacterCompletedEventHandler(optimizer_OptimizeCharacterCompleted); optimizer.ComputeUpgradesProgressChanged += new ComputeUpgradesProgressChangedEventHandler(optimizer_ComputeUpgradesProgressChanged); optimizer.ComputeUpgradesCompleted += new ComputeUpgradesCompletedEventHandler(optimizer_ComputeUpgradesCompleted); List<string> calcsToOptimizeStrings = new List<string>(); calcsToOptimizeStrings.Add("Overall Rating"); foreach (string subpoints in Calculations.SubPointNameColors.Keys) calcsToOptimizeStrings.Add(subpoints + " Rating"); CalculationToOptimizeCombo.Tag = Calculations.SubPointNameColors.Count; CalculationToOptimizeCombo.ItemsSource = calcsToOptimizeStrings; CalculationToOptimizeCombo.SelectedIndex = 0; ThoroughnessSlider.Value = OptimizerSettings.Default.Thoroughness; CK_Override_Regem.IsChecked = OptimizerSettings.Default.OverrideRegem; CK_Override_Reenchant.IsChecked = OptimizerSettings.Default.OverrideReenchant; CK_Override_Reforge.IsChecked = OptimizerSettings.Default.OverrideReforge; string calculationString = character.CalculationToOptimize; if (string.IsNullOrEmpty(calculationString)) calculationString = OptimizerSettings.Default.CalculationToOptimize; if (calculationString != null) { if (calculationString.StartsWith("[Overall]")) { CalculationToOptimizeCombo.SelectedIndex = 0; } else if (calculationString.StartsWith("[SubPoint ")) { calculationString = calculationString.Substring(10).TrimEnd(']'); int index = int.Parse(calculationString); if (index < Calculations.SubPointNameColors.Count) { CalculationToOptimizeCombo.SelectedIndex = index + 1; } } else { if (Array.IndexOf(Calculations.OptimizableCalculationLabels, calculationString) >= 0) { CalculationToOptimizeCombo.SelectedItem = calculationString; } } } if (character.OptimizationRequirements != null) foreach (OptimizationRequirement requirement in character.OptimizationRequirements) AddRequirement(requirement); }
public BatchTools() { MaxRounds = 3; BatchCharacterList = new BatchCharacterList(); batchListReady = true; optimizer = new ItemInstanceOptimizer(); optimizer.OptimizeCharacterProgressChanged += new OptimizeCharacterProgressChangedEventHandler(_optimizer_OptimizeCharacterProgressChanged); optimizer.OptimizeCharacterCompleted += new OptimizeCharacterCompletedEventHandler(_optimizer_OptimizeCharacterCompleted); optimizer.ComputeUpgradesProgressChanged += new ComputeUpgradesProgressChangedEventHandler(_optimizer_ComputeUpgradesProgressChanged); optimizer.ComputeUpgradesCompleted += new ComputeUpgradesCompletedEventHandler(_optimizer_ComputeUpgradesCompleted); optimizer.EvaluateUpgradeProgressChanged += new ProgressChangedEventHandler(_optimizer_EvaluateUpgradeProgressChanged); optimizer.EvaluateUpgradeCompleted += new EvaluateUpgradeCompletedEventHandler(_optimizer_EvaluateUpgradeCompleted); }
public FormOptimize(Character character) { InitializeTalentList(character); InitializeComponent(); _character = character; _optimizer = new ItemInstanceOptimizer(); _optimizer.OptimizeCharacterProgressChanged += new OptimizeCharacterProgressChangedEventHandler(_optimizer_OptimizeCharacterProgressChanged); _optimizer.OptimizeCharacterCompleted += new OptimizeCharacterCompletedEventHandler(_optimizer_OptimizeCharacterCompleted); _optimizer.ComputeUpgradesProgressChanged += new ComputeUpgradesProgressChangedEventHandler(_optimizer_ComputeUpgradesProgressChanged); _optimizer.ComputeUpgradesCompleted += new ComputeUpgradesCompletedEventHandler(_optimizer_ComputeUpgradesCompleted); comboBoxCalculationToOptimize.Items.Add("Overall Rating"); comboBoxCalculationToOptimize.Tag = Calculations.SubPointNameColors.Count; foreach (string subPoint in Calculations.SubPointNameColors.Keys) { comboBoxCalculationToOptimize.Items.Add(subPoint + " Rating"); } comboBoxCalculationToOptimize.Items.AddRange(Calculations.OptimizableCalculationLabels); comboBoxCalculationToOptimize.SelectedIndex = 0; checkBoxOverrideRegem.Checked = Properties.Optimizer.Default.OverrideRegem; checkBoxOverrideReenchant.Checked = Properties.Optimizer.Default.OverrideReenchant; trackBarThoroughness.Value = Properties.Optimizer.Default.Thoroughness; string calculationString = character.CalculationToOptimize; if (string.IsNullOrEmpty(calculationString)) { calculationString = Properties.Optimizer.Default.CalculationToOptimize; } if (calculationString != null) { if (calculationString.StartsWith("[Overall]", StringComparison.Ordinal)) { comboBoxCalculationToOptimize.SelectedIndex = 0; } else if (calculationString.StartsWith("[SubPoint ", StringComparison.Ordinal)) { calculationString = calculationString.Substring(10).TrimEnd(']'); int index = int.Parse(calculationString); if (index < Calculations.SubPointNameColors.Count) { comboBoxCalculationToOptimize.SelectedIndex = index + 1; } } else { if (Array.IndexOf(Calculations.OptimizableCalculationLabels, calculationString) >= 0) { comboBoxCalculationToOptimize.SelectedItem = calculationString; } } } if (character.OptimizationRequirements != null) { for (int i = 0; i < character.OptimizationRequirements.Count; i++) { buttonAddRequirement_Click(null, null); } int reqIndex = 0; foreach (Control ctrl in groupBoxRequirements.Controls) { if (ctrl is Panel) { foreach (Control reqCtrl in ctrl.Controls) { switch (reqCtrl.Name) { case "comboBoxRequirementCalculation": ComboBox reqComboBox = (ComboBox)reqCtrl; calculationString = character.OptimizationRequirements[reqIndex].Calculation; if (calculationString.StartsWith("[Overall]", StringComparison.Ordinal)) { reqComboBox.SelectedIndex = 0; } else if (calculationString.StartsWith("[SubPoint ", StringComparison.Ordinal)) { calculationString = calculationString.Substring(10).TrimEnd(']'); int index = int.Parse(calculationString); if (index < Calculations.SubPointNameColors.Count) { reqComboBox.SelectedIndex = index + 1; } } else if (calculationString.StartsWith("[Talent ", StringComparison.Ordinal)) { reqComboBox.SelectedItem = "Talent"; } else if (calculationString.StartsWith("[Cost]", StringComparison.Ordinal)) { reqComboBox.SelectedItem = "Cost"; } else { if (Array.IndexOf(Calculations.OptimizableCalculationLabels, calculationString) >= 0) { reqComboBox.SelectedItem = calculationString; } } break; case "comboBoxRequirementTalent": calculationString = character.OptimizationRequirements[reqIndex].Calculation; if (calculationString.StartsWith("[Talent ", StringComparison.Ordinal)) { calculationString = calculationString.Substring(8).TrimEnd(']'); int index = int.Parse(calculationString); if (index < talentList.Length) { ComboBox reqComboBoxTalent = (ComboBox)reqCtrl; reqComboBoxTalent.SelectedIndex = index; } } break; case "comboBoxRequirementGreaterLessThan": (reqCtrl as ComboBox).SelectedIndex = character.OptimizationRequirements[reqIndex].LessThan ? 1 : 0; break; case "numericUpDownRequirementValue": (reqCtrl as NumericUpDown).Value = (decimal)character.OptimizationRequirements[reqIndex].Value; break; } } reqIndex++; } } } }