public Frame NextFrame() {
current_frame_ = new Frame();
if (frames_.Count > 0) {
if (frame_index_ >= frames_.Count && loop) {
frame_index_ -= frames_.Count;
} else if (frame_index_ < 0 && loop) {
frame_index_ += frames_.Count;
}
if (frame_index_ < frames_.Count && frame_index_ >= 0) {
current_frame_.Deserialize(frames_[(int)frame_index_]);
frame_index_ += speed;
}
}
return current_frame_;
}