private Ball DetermineBallToTrack()
{
Ball ballToTrack = null;
if (PaddleSide == Side.Right)
{
foreach (Ball ball in _balls)
{
//Lock on first ball;
if (ball.XVelocity > 0)
{
if (ballToTrack == null)
{
ballToTrack = ball;
}
}
//See if other balls are better matches
if (ball.XVelocity > 0 && ball.Position.X > ballToTrack.Position.X)
{
ballToTrack = ball;
}
}
}
else if (PaddleSide == Side.Left)
{
foreach (Ball ball in _balls)
{
//Lock on first ball;
if (ball.XVelocity < 0)
{
if (ballToTrack == null)
{
ballToTrack = ball;
}
}
//See if other balls are better matches
if (ball.XVelocity < 0 && ball.Position.X < ballToTrack.Position.X)
{
ballToTrack = ball;
}
}
}
return ballToTrack;
}