public void FireBallHandleLoop(IList<IBlock> BlocksAround, Fireball fireball, Rectangle fireballBox, IWorld Level, IPlayer mario)
        {
            foreach (IBoss boss in Level.Bosses)
            {
                if (boss.BossPhysics.IsAlive) {
                    Rectangle bossBox = boss.Rectangle;
                    Rectangle intersectionBox = Rectangle.Intersect(fireballBox, bossBox);

                    if (!intersectionBox.IsEmpty)
                    {
                        FireBallBossHandler.HandleCollision(fireball, boss);
                        if (boss.Life == 0)
                        {
                            mario.ScoreObjects.Add(new Score.ScoreObject(Util.Instance.BossScore, boss.Location, true));
                            mario.Scores += 3000;
                        }
                    }
                }
                
            }
        }
 public AllCollisionHandler(GameStateManager gameState)
 {
     this.gameState = gameState;
     Level          = gameState.world;
     mario          = gameState.world.Mario;
     MBHandler      = new MarioBlockHandler();
     MOHandler      = new MarioBossHandler();
     MEHandler      = new MarioEnemyHandler();
     MFHandler      = new MarioFlagStuffHandler();
     MIHandler      = new MarioItemHandler();
     MCHandler      = new MarioCastleCollisionHandler();
     IBHandler      = new ItemBlockHandler();
     EBHandler      = new EnemyBlockHandler();
     BBHandler      = new BossBlockHandler();
     SEHandler      = new ShellEnemyHandler();
     SBHandler      = new ShellBossHandler();
     FBHandler      = new FireBallBlockHandler();
     FEHandler      = new FireBallEnemyHandler();
     FOHandler      = new FireBallBossHandler();
     FSBHandler     = new FireShotBlockHandler();
     FSMHandler     = new FireShotMarioHandler();
     FHMHandler     = new FireHellMarioHandler();
 }