summary refs log tree commit diff stats
path: root/src/system.h
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2018-02-08 13:43:10 -0500
committerKelly Rauchenberger <fefferburbia@gmail.com>2018-02-08 13:43:10 -0500
commit1400ade977e13e3b535d3c2fddb6e15de3c9b5a5 (patch)
tree3b44a7e9b60cff2423a7908404a4d6a5e79284f8 /src/system.h
parentcefe66cdbb8786dc455657376e36f0ff8785d5bc (diff)
downloadtherapy-1400ade977e13e3b535d3c2fddb6e15de3c9b5a5.tar.gz
therapy-1400ade977e13e3b535d3c2fddb6e15de3c9b5a5.tar.bz2
therapy-1400ade977e13e3b535d3c2fddb6e15de3c9b5a5.zip
Moved sprite rendering into AnimatingSystem
Refactored how systems work slightly. Now, rendering can be done by a number of systems working together. Since the AnimatingSystem handles the animation of sprites, it should also handle the rendering of them. Because of this, the RenderingSystem has been removed.
Diffstat (limited to 'src/system.h')
-rw-r--r--src/system.h31
1 files changed, 30 insertions, 1 deletions
diff --git a/src/system.h b/src/system.h index 6a3cd14..e630c48 100644 --- a/src/system.h +++ b/src/system.h
@@ -4,6 +4,7 @@
4#include "entity_manager.h" 4#include "entity_manager.h"
5 5
6class Game; 6class Game;
7class Texture;
7 8
8class System { 9class System {
9public: 10public:
@@ -16,7 +17,35 @@ public:
16 17
17 virtual ~System() = default; 18 virtual ~System() = default;
18 19
19 virtual void tick(double dt) = 0; 20 /**
21 * Updates the state of a system.
22 *
23 * @param dt - The amount of time in seconds that have passed since the last
24 * update.
25 */
26 virtual void tick(double)
27 {
28 }
29
30 /**
31 * Renders to a texture.
32 *
33 * @param texture - The surface to render to.
34 */
35 virtual void render(Texture&)
36 {
37 }
38
39 /**
40 * Processes keyboard input.
41 *
42 * @param key - The relevant key.
43 *
44 * @param action - The action performed (press, released, etc).
45 */
46 virtual void input(int, int)
47 {
48 }
20 49
21protected: 50protected:
22 51