Presenter::~Presenter()
{
- for(Renderer *r: renderers)
- r->get_stage().remove_system(*r);
+ for(Game::System *s: systems)
+ s->get_stage().remove_system(*s);
}
void Presenter::stage_activated(const Game::Events::StageActivated &event)
{
if(!event.stage.get_system<Renderer>())
- renderers.push_back(&event.stage.add_system<Renderer>(ref(gl_view)));
+ systems.push_back(&event.stage.add_system<Renderer>(ref(gl_view)));
}
} // namespace Msp::GameView
#include <msp/datafile/collection.h>
#include <msp/game/director.h>
#include <msp/game/eventobserver.h>
+#include <msp/game/system.h>
#include <msp/gl/view.h>
#include "mspgameview_api.h"
namespace Msp::GameView {
-class Renderer;
-
class MSPGAMEVIEW_API Presenter
{
private:
GL::View &gl_view;
DataFile::Collection &resources;
Game::EventObserver event_observer;
- std::vector<Renderer *> renderers;
+ std::vector<Game::System *> systems;
public:
Presenter(Game::Director &, GL::View &);