namespace Msp::GameView {
+class MeshRenderer;
+
class Renderer: public Game::System
{
private:
+ struct RenderedEntity
+ {
+ Game::Handle<Game::Entity> entity;
+ Game::Owned<MeshRenderer> mesh_renderer;
+ };
+
GL::View &view;
Game::EventObserver event_observer;
+ std::vector<RenderedEntity> entities;
GL::SimpleScene scene;
Game::Handle<Game::Camera> active_camera;
GL::Camera gl_camera;
~Renderer();
private:
+ void entity_created(const Game::Events::EntityCreated &);
+ void entity_destroyed(const Game::Events::EntityDestroyed &);
void camera_changed(const Game::Events::CameraChanged &);
public: