/// <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); } }
public Spell Clone(int tmpID) { Spell tmpSpell = new Spell(tmpID, name, magiCost, effects); return tmpSpell; }