#ifndef CLASSICNOTESTATE_H #define CLASSICNOTESTATE_H #include #include using microsec = sf::Int64; class ClassicNote; class ClassicNoteState { public: enum Value { NONE, DYING, FLYING, ACTIVE, COUNT }; virtual Value value() const = 0; virtual Value update(const ClassicNote* note, const microsec& offset) = 0; virtual void onEntering(const ClassicNote* note) = 0; }; #endif // CLASSICNOTESTATE_H