Ejemplo n.º 1
0
        public override void Remove(Item item)
        {
            // Entferne angreifbares Objekt
            if (item.ContainsProperty <AttackableProperty>() &&
                attackables.ContainsKey(item.Id))
            {
                // Angriffe auf ein entferntes Element stoppen
                AttackableProperty attackable = attackables[item.Id];
                foreach (AttackerProperty attacker in attackers.Values)
                {
                    if (attacker.AttackTarget == attackable)
                    {
                        attacker.StopAttack();
                    }
                }

                // entfernen
                attackables.Remove(item.Id);
            }

            // Entferne angreifendes Objekt
            if (item.ContainsProperty <AttackerProperty>() &&
                attackers.ContainsKey(item.Id))
            {
                // Angriffe stoppen
                AttackerProperty attacker = attackers[item.Id];
                attacker.StopAttack();

                // entfernen
                attackers.Remove(item.Id);
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Stop to attack Items.
 /// </summary>
 public void StopAttack()
 {
     attacker.StopAttack();
 }