diff options
Diffstat (limited to 'include/components.hpp')
-rw-r--r-- | include/components.hpp | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/include/components.hpp b/include/components.hpp index f6521f8..bbf153a 100644 --- a/include/components.hpp +++ b/include/components.hpp @@ -147,7 +147,7 @@ struct Sprite { Sprite(bool left = false) : faceLeft(left) {} - std::vector<std::pair<SpriteData, vec2>> getSprite() { + Frame getSprite() { return sprite; } @@ -214,21 +214,24 @@ struct Animate { // COMMENT std::vector<Frame> frame; // COMMENT - std::vector<Frame>::iterator currentFrame; + uint index; Animate(){ - currentFrame = std::begin(frame); + index = 0; } // COMMENT Frame nextFrame() { - std::rotate(frame.begin(), frame.begin()+1, frame.end()); - return frame[0]; - /*if (currentFrame < std::end(frame)) - return (*currentFrame++); - else - currentFrame = std::begin(frame); - return (*currentFrame);*/ + if (index < frame.size() - 1) { + index++; + } else { + index = 0; + } + return frame.at(index); + } + + Frame firstFrame() { + return frame.front(); } }; |