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_manager.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_manager.h')
-rw-r--r-- | src/system_manager.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/system_manager.h b/src/system_manager.h index e2c98cb..b03c3f2 100644 --- a/src/system_manager.h +++ b/src/system_manager.h | |||
@@ -39,6 +39,30 @@ public: | |||
39 | return *dynamic_cast<T*>(systems[systemType]); | 39 | return *dynamic_cast<T*>(systems[systemType]); |
40 | } | 40 | } |
41 | 41 | ||
42 | void tick(double dt) | ||
43 | { | ||
44 | for (std::unique_ptr<System>& sys : loop) | ||
45 | { | ||
46 | sys->tick(dt); | ||
47 | } | ||
48 | } | ||
49 | |||
50 | virtual void render(Texture& texture) | ||
51 | { | ||
52 | for (std::unique_ptr<System>& sys : loop) | ||
53 | { | ||
54 | sys->render(texture); | ||
55 | } | ||
56 | } | ||
57 | |||
58 | virtual void input(int key, int action) | ||
59 | { | ||
60 | for (std::unique_ptr<System>& sys : loop) | ||
61 | { | ||
62 | sys->input(key, action); | ||
63 | } | ||
64 | } | ||
65 | |||
42 | }; | 66 | }; |
43 | 67 | ||
44 | #endif /* end of include guard: SYSTEM_MANAGER_H_544E6056 */ | 68 | #endif /* end of include guard: SYSTEM_MANAGER_H_544E6056 */ |