|
|
@@ -11,6 +11,7 @@
|
|
|
|
|
|
#include "game/engine/events.hpp"
|
|
|
#include "game/engine/scene.hpp"
|
|
|
+#include "game/graphics/renderer.hpp"
|
|
|
#include "game/util/env.hpp"
|
|
|
|
|
|
namespace engine {
|
|
|
@@ -21,9 +22,10 @@ namespace engine {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- game_dispatch::game_dispatch()
|
|
|
- : screen_size(env::screen_size()), minimum_frame_duration(env::fps::v60),
|
|
|
- scenes(), current_timestamp(env::clock::now()), curr_scene() {}
|
|
|
+ game_dispatch::game_dispatch(std::shared_ptr<graphics::renderer> renderer)
|
|
|
+ : renderer(renderer), screen_size(env::screen_size()),
|
|
|
+ minimum_frame_duration(env::fps::v60), scenes(),
|
|
|
+ current_timestamp(env::clock::now()), curr_scene() {}
|
|
|
|
|
|
game_dispatch::current_scene_info::current_scene_info() {}
|
|
|
|
|
|
@@ -63,5 +65,8 @@ namespace engine {
|
|
|
|
|
|
void game_dispatch::update() { curr_scene.ptr->update(next_frame()); }
|
|
|
|
|
|
- void game_dispatch::render() { curr_scene.ptr->render(); }
|
|
|
+ void game_dispatch::render() {
|
|
|
+ graphics::batch_renderer batch(renderer.get());
|
|
|
+ curr_scene.ptr->render(batch);
|
|
|
+ }
|
|
|
}
|