14 enum Events {
NO_EVENT,
GAME_OVER,
LEVEL_COMPLETED,
DIRECTION_CHANGED,
ISMOVING_CHANGED,
DEATH,
RESPAWN,
FRUIT_EATEN,
GHOST_EATEN,
COIN_EATEN,
SCORE_UPDATE,
GHOST_FRIGHTENED,
GHOST_NORMAL,
FRIGHTENED_FLASHING };
40 void attach(
const std::shared_ptr<Observer> &observer);
virtual void update(Events event)=0
Update method that is called by the observed Subjects.
virtual ~Observer()=default
void attach(const std::shared_ptr< Observer > &observer)
Attaches an observer to this Subject.
Definition Observer.cpp:6
std::list< std::weak_ptr< Observer > > observers
Definition Observer.h:49
void notify(Events event)
Call the Observer update function with the provided event.
Definition Observer.cpp:12
virtual ~Subject()=default
Definition Difficulty.h:6
Events
Definition Observer.h:14
@ DIRECTION_CHANGED
Definition Observer.h:14
@ ISMOVING_CHANGED
Definition Observer.h:14
@ GHOST_NORMAL
Definition Observer.h:14
@ DEATH
Definition Observer.h:14
@ COIN_EATEN
Definition Observer.h:14
@ NO_EVENT
Definition Observer.h:14
@ FRIGHTENED_FLASHING
Definition Observer.h:14
@ GHOST_EATEN
Definition Observer.h:14
@ LEVEL_COMPLETED
Definition Observer.h:14
@ GHOST_FRIGHTENED
Definition Observer.h:14
@ FRUIT_EATEN
Definition Observer.h:14
@ GAME_OVER
Definition Observer.h:14
@ SCORE_UPDATE
Definition Observer.h:14
@ RESPAWN
Definition Observer.h:14