]> git.tdb.fi Git - libs/game.git/blobdiff - source/gameview/renderer.h
Add components for giving entities a visual appearance
[libs/game.git] / source / gameview / renderer.h
index 4e90a7445f9058ad3539bea4e930a1822c2cd56b..ee0b05c15ab1b70052a4b407820f690a12df9dad 100644 (file)
 
 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;
@@ -29,6 +38,8 @@ public:
        ~Renderer();
 
 private:
+       void entity_created(const Game::Events::EntityCreated &);
+       void entity_destroyed(const Game::Events::EntityDestroyed &);
        void camera_changed(const Game::Events::CameraChanged &);
 
 public: