public void AddResistance(Modifier resistance) { if (_resistances == null) _resistances = new List<Modifier>(); _resistances.Add(resistance); }
public void AddWeakness(Modifier weakness) { if (_weaknesses == null) _weaknesses = new List<Modifier>(); _weaknesses.Add(weakness); }
private void SaveControlsData() { _race.Name = txtRaceName.Text; _race.Description = txtRaceDescription.Text; // Add stat modifiers and weakness/resistances if (lstStatModifiers.Items.Count > 0) { if (_race.StatModifiersCount > 0) _race.ClearStatModifiers(); string stat, id; int val; for (int i = 0; i < lstStatModifiers.Items.Count; i++) { stat = lstStatModifiers.Items[i].ToString(); val = Convert.ToInt32(stat.Substring(stat.IndexOf(":") + 2)); // + 2 here due to the space between the number and the ":" id = GetStatID(stat.Substring(0, stat.IndexOf(":"))); if (id != "") _race.AddStatModifier(id, val); else MessageBox.Show("Error getting stat ID for item " + i.ToString() + " in stat modifier list"); } } if (lstWRs.Items.Count > 0) { if (_race.WRsCount > 0) _race.ClearWRs(); string item, type, name; int val; Modifier modifier; for (int i = 0; i < lstWRs.Items.Count; i++) { item = lstWRs.Items[i].ToString(); type = item.Substring(0, item.IndexOf("-")).Trim(); name = item.Substring(item.IndexOf("-") + 2, item.IndexOf(":") - item.IndexOf("-") - 2).Trim(); val = Convert.ToInt32(item.Substring(item.IndexOf(":") + 2)); modifier = new Modifier(); modifier.Amount = val; modifier.Type = (ModifierType)Enum.Parse(typeof(ModifierType), name); switch (type) { case "Resistance": { _race.AddResistance(modifier); break; } case "Weakness": { _race.AddWeakness(modifier); break; } } } } }