/// <summary>
        /// Adds a Spell to the wrapper list - Does not commit the addition - Run saveCacheChanges() to do this
        /// </summary>
        /// <param name="tmpNewSpell"></param>
        public void addSpellToTempCache(Spell tmpNewSpell)
        {
            int index = -1;
            foreach (Spell tmpSpell in _listOfSpells)
            {
                if (tmpSpell.SpellID == tmpNewSpell.SpellID)
                {
                    index = _listOfSpells.IndexOf(tmpSpell);
                }
            }

            if (index != -1)
            {
                _listOfSpells[index] = tmpNewSpell;
            }
            else
            {
                _listOfSpells.Add(tmpNewSpell);
            }
        }
 private void btnSave_Click(object sender, EventArgs e)
 {
     selectedSpell.SpellName = txtName.Text;
     if (selectedSpell.SpellName != string.Empty)
     {
         if (selectedSpell.SpellID == -1)
         {
             selectedSpell.SpellID = _SpellWrapper.NextID();
         }
         selectedSpell = new Spell(selectedSpell.SpellID, selectedSpell.SpellName, (int)nudMagiCost.Value, effectsBox1.getList().ToList());
         _SpellWrapper.addSpellToTempCache(selectedSpell);
         loadPreExsistingSpells();
         cmbCurrent.SelectedIndex = 0;
         selectedSpell = newSpell.Clone(-1);
         changesSaved = false;
         configureGui();
         updateSelectedItemsInfo();
     }
     else
     {
         MessageBox.Show("Please Enter a Spell Name");
     }
 }
        private void updateCmbInfo()
        {
            if (cmbCurrent.SelectedValue != null)
            {
                if (((int)cmbCurrent.SelectedValue) == -1)
                {
                    selectedSpell = newSpell.Clone(-1);
                }
                else
                {
                    selectedSpell = _SpellWrapper.getSpell((int)cmbCurrent.SelectedValue);
                }

                updateSelectedItemsInfo();
            }
        }
 /// <summary>
 /// Removes specified Spell & ID from cache of used IDs
 /// </summary>
 /// <param name="tmpSpell"></param>
 public void removeSpellFromTempCache(Spell tmpSpell)
 {
     if (_listOfSpells.Contains(tmpSpell))
     {
         _listOfSpells.Remove(tmpSpell);
         _usedIDs.Remove(tmpSpell.SpellID);
     }
 }
Esempio n. 5
0
 public Spell Clone(int tmpID)
 {
     Spell tmpSpell = new Spell(tmpID, name, magiCost, effects);
     return tmpSpell;
 }