public void Update(GameTime gt)
{
if (rollTick <= Duration)
{
rollTick += (float)(gt.ElapsedGameTime.TotalSeconds);
//doesn't really work, try an epsilon and if that doesn't work use curves instead, geez
if (Math.Abs(TargetY-Y) > float.Epsilon)
{
Y = (int)(MathHelper.Lerp(StartY, TargetY, (rollTick-(2.0f/3.0f)) / (Duration-(2.0f/3.0f))));
yReachedTick = rollTick;
}
else
{
X = (int)(MathHelper.Lerp(StartX, TargetX, (rollTick - yReachedTick) / (Duration - yReachedTick)));
}
}
else if (shuffling)
{
Pipe.ClearNotch(this);
}
}