Animation::Animation(const AnimData& anim_data)
    : anim_data_(anim_data),
    timeline_(0),
    fps_(anim_data.fps()),
    total_frames_(anim_data_.total_frames()),
    current_frame_(0),
    playing_(false),
    hidden_(false),
    looping_(true)
{
    sprite_.SetImage(anim_data.texture());
    update_sprite_to_frame();
}