private void SavedCombo_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (!updating) { SavedPetTalentSpec newSpec = SavedCombo.SelectedItem as SavedPetTalentSpec; CalcOpts.PetTalents = newSpec.TalentSpec(); character_ClassChanged(this, EventArgs.Empty); Character.OnCalculationsInvalidated(); } }
private void BT_OK_Click(object sender, RoutedEventArgs e) { if (CB_TalentSpecs.SelectedIndex >= 0) { SavedPetTalentSpec spec = CB_TalentSpecs.SelectedItem as SavedPetTalentSpec; spec.Spec = PetTalents.ToString(); spec.Class = (PETFAMILYTREE)CB_Trees.SelectedItem; spec.Tree = Tree; } else { SavedPetTalentSpec.AllSpecs.Add(new SavedPetTalentSpec(TB_NewSpecName.Text, PetTalents, (PETFAMILYTREE)CB_Trees.SelectedItem, Tree)); } this.DialogResult = true; }
public FormSavePetTalentSpec(PetTalentsBase spec, PETFAMILYTREE newClass, int tree) { InitializeComponent(); PetTalents = spec; Tree = tree; Class = newClass; CB_Trees.SelectedItem = Class; SavedPetTalentSpecList saved = SavedPetTalentSpec.SpecsFor(Class); if (saved.Count > 0) { CB_TalentSpecs.ItemsSource = saved; CB_TalentSpecs.SelectedIndex = 0; } else { CB_TalentSpecs.IsEnabled = false; } }
private void UpdateSavedSpecs() { SavedPetTalentSpecList savedSpecs = SavedPetTalentSpec.SpecsFor(ArmoryPet.FamilyToTree[CalcOpts.PetFamily]); SavedPetTalentSpec current = null; updating = true; foreach (SavedPetTalentSpec sts in savedSpecs) { if (sts.Equals(CalcOpts.PetTalents)) { current = sts; break; } } if (current != null) { HasCustomSpec = false; SavedCombo.ItemsSource = savedSpecs; SavedCombo.SelectedItem = current; SaveDeleteButton.Content = "Delete"; } else { PETFAMILYTREE ftree = ArmoryPet.FamilyToTree[CalcOpts.PetFamily]; int treepts = (ftree == PETFAMILYTREE.Cunning ? Tree1.Points() : (ftree == PETFAMILYTREE.Ferocity ? Tree2.Points() : (ftree == PETFAMILYTREE.Tenacity ? Tree3.Points() : Tree1.Points() + Tree2.Points() + Tree3.Points()))); HasCustomSpec = true; current = new SavedPetTalentSpec("Custom", CalcOpts.PetTalents, ftree, treepts); SavedPetTalentSpecList currentList = new SavedPetTalentSpecList(); currentList.AddRange(savedSpecs); currentList.Add(current); SavedCombo.ItemsSource = null; SavedCombo.ItemsSource = currentList; SavedCombo.SelectedItem = current; SaveDeleteButton.Content = "Save"; } updating = false; }
private void SaveDelete_Click(object sender, System.Windows.RoutedEventArgs e) { SavedPetTalentSpec currentSpec = SavedCombo.SelectedItem as SavedPetTalentSpec; if (HasCustomSpec) { PETFAMILYTREE ftree = ArmoryPet.FamilyToTree[CalcOpts.PetFamily]; int treepts = (ftree == PETFAMILYTREE.Cunning ? Tree1.Points() : (ftree == PETFAMILYTREE.Ferocity ? Tree2.Points() : (ftree == PETFAMILYTREE.Tenacity ? Tree3.Points() : Tree1.Points() + Tree2.Points() + Tree3.Points()))); FormSavePetTalentSpec dialog = new FormSavePetTalentSpec(CalcOpts.PetTalents, ftree, treepts); dialog.Closed += new EventHandler(dialog_Closed); dialog.Show(); } else { SavedPetTalentSpec.AllSpecs.Remove(currentSpec); UpdateSavedSpecs(); } }