예제 #1
0
 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();
     }
 }
예제 #2
0
 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;
 }
예제 #3
0
        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;
            }
        }
예제 #4
0
        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;
        }
예제 #5
0
        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();
            }
        }