Методы FindAnimation() и SwitchAnimation() рассмотрим позже. Сейчас нас больше интересуют свойства класса. Как видите, объект Sprite в классе Animator отсутствует, есть только ссылка Sprite & m_Sprite. Это означает, что объект Sprite должен быть создан вне класса Animator и передан в класс через конструктор. Следующее свойство - счетчик интервала времени m_CurrentTime, он необходим для создания небольших пауз между отображением кадров анимации. Контейнер list и указатель на текущую анимацию m_CurrentAnimation. Обратите внимание, что мы не используем vector<>для хранения типа Animator::Animation, а используем контенер list<>. Это потому, что мы не можем сохранить указатели и ссылки на элементы в контейнер vector<>, так как они станут недействительными. В контейнере list<> такой проблемы нет, его реализация гарантирует, что указатели и ссылки останутся действительными даже после добавления и удаления элементов из него. Свойство endAnim, содержит текущее состояние анимации, которая должна проигрываться только один раз, если анимация проиграна возвращает значение true.
"Покадровая" в одно слово пишется.