summary refs log tree commit diff stats
path: root/src/system.h
diff options
context:
space:
mode:
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