public void HandleCollision(INpc enemy, IProjectile boomerang, Constants.Direction side)
 {
     if (boomerang.Owner == Constants.ProjectileOwner.Link)
     {
         BoomerangFlyingProjectile boomerangCast = (BoomerangFlyingProjectile)boomerang;
         enemy.TakeDamage(boomerangCast.DamageAmount());
         boomerangCast.ReturnToOwner();
     }
 }
        public void HandleCollision(IPlayer link, IProjectile boomerang, Constants.Direction side)
        {
            BoomerangFlyingProjectile boomerangCast = (BoomerangFlyingProjectile)boomerang;

            if (boomerang.Owner == Constants.ProjectileOwner.Link)
            {
                return;
            }
            link.BeDamaged(boomerang.DamageAmount());
            boomerangCast.ReturnToOwner();
        }
        public void HandleCollision(IProjectile boomerang, IBlock block, Constants.Direction side)
        {
            Type blockType = block.GetType();

            if (blockType == typeof(TileWater) || blockType == typeof(SecretRoomWall))
            {
                return;
            }
            BoomerangFlyingProjectile boomerangCast = (BoomerangFlyingProjectile)boomerang;

            boomerangCast.ReturnToOwner();
        }