Еще мелкое замечание, ты для таймера используешь float, особо не вдавался в анализ, но чего то странное с ним твориться стало (слабозаметные рывки при анимации), числа delta порядка 0.035, вроде должно нормально, потом посмотрел, что раньше у меня было double, поставил так же и все ОК...