#pragma once #include #include using microsec = sf::Int64; class ClassicSprite; class ClassicAnimationScenario { public: virtual ~ClassicAnimationScenario() = default; virtual void launch(const std::shared_ptr sprite, const microsec& time_begin, const microsec &time_end) = 0; virtual void update(const microsec& music_offset) = 0; virtual bool isDone() const = 0; protected: std::shared_ptr _sprite; microsec _time_begin; microsec _time_end; };