diff options
author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2018-02-08 13:43:10 -0500 |
---|---|---|
committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2018-02-08 13:43:10 -0500 |
commit | 1400ade977e13e3b535d3c2fddb6e15de3c9b5a5 (patch) | |
tree | 3b44a7e9b60cff2423a7908404a4d6a5e79284f8 /src/system.h | |
parent | cefe66cdbb8786dc455657376e36f0ff8785d5bc (diff) | |
download | therapy-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.h | 31 |
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 | ||
6 | class Game; | 6 | class Game; |
7 | class Texture; | ||
7 | 8 | ||
8 | class System { | 9 | class System { |
9 | public: | 10 | public: |
@@ -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 | ||
21 | protected: | 50 | protected: |
22 | 51 | ||