private void BuildAuraData() { Aura selectedAura = auras[lst_Auras.SelectedIndex]; AUR_Name.Text = selectedAura.auraName; AUR_Desc.Text = selectedAura.desc; AUR_Duration.Value = (Decimal)selectedAura.duration; AUR_isDebuff.Text = selectedAura.isDebuff.ToString(); AUR_oneUse.Text = selectedAura.consumedOnUse.ToString(); AUR_texture.Text = selectedAura.texture; AUR_Mods.Items.Clear(); AUR_Mods.BeginUpdate(); foreach (Aura.Modifier mod in selectedAura.mods) { string auraString = mod.spellID + ":" + mod.mod.ToString() + ":" + mod.value; AUR_Mods.Items.Add(auraString); } AUR_Mods.EndUpdate(); }
private void AUR_Modifiers_DoubleClick(object sender, EventArgs e) { DLG_AuraModifier dialog = new DLG_AuraModifier(auras[lst_Auras.SelectedIndex].mods[AUR_Mods.SelectedIndex], spells); if (dialog.ShowDialog() == DialogResult.OK) { AuraMods modifier; if (Enum.TryParse(dialog.Modifier, out modifier)) { Aura.Modifier newMod = auras[lst_Auras.SelectedIndex].mods[AUR_Mods.SelectedIndex]; newMod.mod = modifier; newMod.spellID = dialog.SpellID; newMod.value = (float)dialog.Value; auras[lst_Auras.SelectedIndex].mods[AUR_Mods.SelectedIndex] = newMod; AUR_Mods.Items[AUR_Mods.SelectedIndex] = newMod.spellID + ":" + newMod.mod.ToString() + ":" + newMod.value; dialog.Close(); AUR_Mods.Update(); } else { MessageBox.Show("Invalid modifier type.", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }