/// <summary> /// Remove Attack from UI and Attacks list /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnRemoveAttack_Click(object sender, RoutedEventArgs e) { if (lstAttacks.SelectedIndex > -1) { Attack attack = (Attack)lstAttacks.SelectedItem; List <Attack> attacksToRemove = new List <Attack>(); if (attack.Trigger) { foreach (Attack a in Attacks) { if (a.TriggeredBy != null && a.TriggeredBy.Name == attack.Name) { attacksToRemove.Add(a); } } } attacksToRemove.Add(attack); if (Attacks.Any(a => a.Name == attack.Name)) { attacksToRemove.Add(attack); } foreach (Attack a in attacksToRemove) { Attacks.Remove(a); UpdateAttacksUI(); } } }