public int HandleCollisionWithBullet(Bullet b)
	{
		ChainEnemyTailPiece iterator = mFirstTailPiece;
		
		while (iterator != null)
		{
			Vector2 intersection = iterator.GetBulletCollision(b);
			
			if (intersection != null)
			{
				int returnPoints = 0;
				
				if (b.IsAlive() && iterator.IsAlive() && iterator.GetNext() == null)
				{
					if (iterator == mFirstTailPiece)
					{
						Destroy();
						returnPoints = 1000;
					}
					else
					{
						iterator.Destroy();
						returnPoints = 50;
					}
				}
				
				b.SetPosition(intersection);
				b.Destroy();
				
				return returnPoints;
			}
			
			iterator = iterator.GetNext();
		}
		
		return 0;
	}