Beispiel #1
0
        /// <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();
                }
            }
        }