public void handleFireballs()
        {
            //remove all thhe fireballs that aren't alive
            for (int i = 0; i < map.getFireballs().Count; i++)
            {
                if (!map.getFireballs()[i].isAlive())
                {
                    map.removeFireball(i);
                    TransparentPictureBox.removePictureBox(ui.getFireball(i));
                    ui.killFireball(i);
                    i--;
                }
            }

            //handle each arrow
            for (int i = 0; i < map.getFireballs().Count; i++)
            {
                //get the CollisionLines in the arrow's room

                CollisionLine[] collLines = map.getRooms()[map.getFireballs()[i].getRoomNumber() - 1].getRoomEdges();

                //get the list of objects that can collide with the arrows
                List <PhysicsObject> collidingObjs = new List <PhysicsObject>();
                collidingObjs.Add(map.getPlayer());


                //handle the arrow

                map.getFireballs()[i].FireballHandler(map.getPlayer(), collLines, collidingObjs.ToArray());
            }
        }
        public void killProjectiles()
        {
            int numArrows = map.getArrows().Count;

            for (int i = 0; i < numArrows; i++)
            {
                map.removeArrow(0);
                TransparentPictureBox.removePictureBox(ui.getArrow(0));
                ui.killArrow(0);
            }

            int numFireballs = map.getFireballs().Count;

            for (int i = 0; i < numFireballs; i++)
            {
                map.removeFireball(0);
                TransparentPictureBox.removePictureBox(ui.getArrow(0));
                ui.killFireball(0);
            }
        }