You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
505 B
C++

#ifndef CLASSICNOTESTATE_H
#define CLASSICNOTESTATE_H
#include <SFML/System/Clock.hpp>
#include <memory>
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