#ifndef GRAPHICS_ANIMATION_H #define GRAPHICS_ANIMATION_H #include #include namespace Graphics{ class Animation : public sf::Drawable, sf::Transformable{ protected: sf::Sprite sprite_; sf::Vector2i frameSize_; std::size_t numFrames_; std::size_t currentFrame_; std::size_t row_; sf::Time duration_; sf::Time elapsedTime_; bool repeat_; public: Animation(); Animation(const sf::Texture& texture, std::size_t count, sf::Time duration, bool repeat = false); void update(sf::Time deltaTime); void draw(sf::RenderTarget& target, sf::RenderStates states) const override; void reset(); bool finished() const; }; } #endif // GRAPHICS_ANIMATION_H