public static SavedPetTalentSpecList SpecsFor(PETFAMILYTREE petClass) { SavedPetTalentSpecList ret = new SavedPetTalentSpecList(); foreach (SavedPetTalentSpec sts in AllSpecs) { if (sts.Class == petClass) { ret.Add(sts); } } return(ret); }
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; }