1 #include "eventobserver.h"
2 #include "eventsource.h"
6 EventObserver::EventObserver(EventBus &b):
10 EventObserver::~EventObserver()
12 bus.remove_observer(*this);
13 for(EventSourceBase *s: observed_sources)
14 s->remove_observer(*this);
17 void EventObserver::remove_source(EventSourceBase &src)
19 auto i = lower_bound(observed_sources, &src);
20 if(i!=observed_sources.end() && *i==&src)
21 observed_sources.erase(i);
24 } // namespace Msp::Game