Example #1
0
 private void FireWeapons(GameTime gameTime)
 {
     foreach (Tuple <Room, Projectile.Attack_Against> attack in Attacks)
     {
         Room room = attack.Item1;
         Projectile.Attack_Against against = attack.Item2;
         if (room.CanShoot && Power >= room.PowerPerShot())
         {
             room.Shoot();
             Power -= (int)room.PowerPerShot();
             _combatState.AddProjectile(new Projectile(new Point(1000, 1000), room.GetCenter(), (int)room.DamagePerShot(), against, _combatState));
         }
     }
 }
Example #2
0
        public void AttackEnemy(Room weapon, CombatState combatState, Projectile.Attack_Against against)
        {
            List <Tuple <Room, Projectile.Attack_Against> > toRemove = new List <Tuple <Room, Projectile.Attack_Against> >();

            foreach (Tuple <Room, Projectile.Attack_Against> attack in Attacks)
            {
                if (attack.Item1.RoomID == weapon.RoomID)
                {
                    toRemove.Add(attack);
                }
            }
            foreach (Tuple <Room, Projectile.Attack_Against> attack in toRemove)
            {
                Attacks.Remove(attack);
            }
            Attacks.Add(new Tuple <Room, Projectile.Attack_Against>(weapon, against));
            _combatState = combatState;
        }