diff options
Diffstat (limited to 'src/game.cpp')
-rw-r--r-- | src/game.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/game.cpp b/src/game.cpp index 492e4d0..dfe700e 100644 --- a/src/game.cpp +++ b/src/game.cpp | |||
@@ -5,11 +5,12 @@ | |||
5 | #include "components/droppable.h" | 5 | #include "components/droppable.h" |
6 | #include "components/ponderable.h" | 6 | #include "components/ponderable.h" |
7 | #include "components/orientable.h" | 7 | #include "components/orientable.h" |
8 | #include "systems/rendering.h" | ||
9 | #include "systems/controlling.h" | 8 | #include "systems/controlling.h" |
10 | #include "systems/pondering.h" | 9 | #include "systems/pondering.h" |
11 | #include "systems/animating.h" | 10 | #include "systems/animating.h" |
12 | #include "animation.h" | 11 | #include "animation.h" |
12 | #include "renderer.h" | ||
13 | #include "consts.h" | ||
13 | 14 | ||
14 | void key_callback(GLFWwindow* window, int key, int, int action, int) | 15 | void key_callback(GLFWwindow* window, int key, int, int action, int) |
15 | { | 16 | { |
@@ -22,14 +23,13 @@ void key_callback(GLFWwindow* window, int key, int, int action, int) | |||
22 | return; | 23 | return; |
23 | } | 24 | } |
24 | 25 | ||
25 | game.systemManager_.getSystem<ControllingSystem>().input(key, action); | 26 | game.systemManager_.input(key, action); |
26 | } | 27 | } |
27 | 28 | ||
28 | Game::Game(GLFWwindow* window) : window_(window) | 29 | Game::Game(GLFWwindow* window) : window_(window) |
29 | { | 30 | { |
30 | systemManager_.emplaceSystem<ControllingSystem>(*this); | 31 | systemManager_.emplaceSystem<ControllingSystem>(*this); |
31 | systemManager_.emplaceSystem<PonderingSystem>(*this); | 32 | systemManager_.emplaceSystem<PonderingSystem>(*this); |
32 | systemManager_.emplaceSystem<RenderingSystem>(*this); | ||
33 | systemManager_.emplaceSystem<AnimatingSystem>(*this); | 33 | systemManager_.emplaceSystem<AnimatingSystem>(*this); |
34 | 34 | ||
35 | int player = entityManager_.emplaceEntity(); | 35 | int player = entityManager_.emplaceEntity(); |
@@ -64,6 +64,7 @@ void Game::execute() | |||
64 | double lastTime = glfwGetTime(); | 64 | double lastTime = glfwGetTime(); |
65 | const double dt = 0.01; | 65 | const double dt = 0.01; |
66 | double accumulator = 0.0; | 66 | double accumulator = 0.0; |
67 | Texture texture(GAME_WIDTH, GAME_HEIGHT); | ||
67 | 68 | ||
68 | while (!(shouldQuit_ || glfwWindowShouldClose(window_))) | 69 | while (!(shouldQuit_ || glfwWindowShouldClose(window_))) |
69 | { | 70 | { |
@@ -76,13 +77,14 @@ void Game::execute() | |||
76 | accumulator += frameTime; | 77 | accumulator += frameTime; |
77 | while (accumulator >= dt) | 78 | while (accumulator >= dt) |
78 | { | 79 | { |
79 | systemManager_.getSystem<ControllingSystem>().tick(dt); | 80 | systemManager_.tick(dt); |
80 | systemManager_.getSystem<PonderingSystem>().tick(dt); | ||
81 | systemManager_.getSystem<AnimatingSystem>().tick(dt); | ||
82 | 81 | ||
83 | accumulator -= dt; | 82 | accumulator -= dt; |
84 | } | 83 | } |
85 | 84 | ||
86 | systemManager_.getSystem<RenderingSystem>().tick(frameTime); | 85 | // Render |
86 | texture.fill(texture.entirety(), 0, 0, 0); | ||
87 | systemManager_.render(texture); | ||
88 | texture.renderScreen(); | ||
87 | } | 89 | } |
88 | } | 90 | } |