diff options
| author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2015-06-18 12:14:05 -0400 |
|---|---|---|
| committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2015-06-18 12:14:05 -0400 |
| commit | 55c8a14a7e2b2dadf0def3e09f970818164366f5 (patch) | |
| tree | e05795e83aa61dc5b951a70328b8499d3c583ea6 /src/systems | |
| parent | 879c2c04d9c3879f871cfe79f9b25fd23c5184b4 (diff) | |
| download | therapy-55c8a14a7e2b2dadf0def3e09f970818164366f5.tar.gz therapy-55c8a14a7e2b2dadf0def3e09f970818164366f5.tar.bz2 therapy-55c8a14a7e2b2dadf0def3e09f970818164366f5.zip | |
Now displaying player character
Diffstat (limited to 'src/systems')
| -rw-r--r-- | src/systems/rendering.cpp | 21 | ||||
| -rw-r--r-- | src/systems/rendering.h | 16 |
2 files changed, 37 insertions, 0 deletions
| diff --git a/src/systems/rendering.cpp b/src/systems/rendering.cpp new file mode 100644 index 0000000..0034dc3 --- /dev/null +++ b/src/systems/rendering.cpp | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | #include "rendering.h" | ||
| 2 | #include "entity_manager.h" | ||
| 3 | #include "components/sprite_renderable.h" | ||
| 4 | #include "components/transformable.h" | ||
| 5 | |||
| 6 | void RenderingSystem::tick(EntityManager& manager, float dt) | ||
| 7 | { | ||
| 8 | texture.fill(texture.entirety(), 0, 0, 0); | ||
| 9 | |||
| 10 | std::set<int> spriteEntities = manager.getEntitiesWithComponents<SpriteRenderableComponent, TransformableComponent>(); | ||
| 11 | for (int entity : spriteEntities) | ||
| 12 | { | ||
| 13 | auto& sprite = manager.getComponent<SpriteRenderableComponent>(entity); | ||
| 14 | auto& transform = manager.getComponent<TransformableComponent>(entity); | ||
| 15 | Rectangle dstrect {(int) transform.getX(), (int) transform.getY(), transform.getW(), transform.getH()}; | ||
| 16 | |||
| 17 | texture.blit(sprite.getTexture(), sprite.getFrameRect(), dstrect); | ||
| 18 | } | ||
| 19 | |||
| 20 | texture.renderScreen(); | ||
| 21 | } | ||
| diff --git a/src/systems/rendering.h b/src/systems/rendering.h new file mode 100644 index 0000000..80ea79e --- /dev/null +++ b/src/systems/rendering.h | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | #ifndef RENDERING_H_76ABC02A | ||
| 2 | #define RENDERING_H_76ABC02A | ||
| 3 | |||
| 4 | #include "system.h" | ||
| 5 | #include "renderer.h" | ||
| 6 | #include "consts.h" | ||
| 7 | |||
| 8 | class RenderingSystem : public System { | ||
| 9 | public: | ||
| 10 | void tick(EntityManager& manager, float dt); | ||
| 11 | |||
| 12 | private: | ||
| 13 | Texture texture {GAME_WIDTH, GAME_HEIGHT}; | ||
| 14 | }; | ||
| 15 | |||
| 16 | #endif /* end of include guard: RENDERING_H_76ABC02A */ | ||
