diff options
Diffstat (limited to 'src/systems/rendering.cpp')
| -rw-r--r-- | src/systems/rendering.cpp | 40 |
1 files changed, 28 insertions, 12 deletions
| diff --git a/src/systems/rendering.cpp b/src/systems/rendering.cpp index 251c2bc..8219732 100644 --- a/src/systems/rendering.cpp +++ b/src/systems/rendering.cpp | |||
| @@ -3,19 +3,35 @@ | |||
| 3 | #include "components/animatable.h" | 3 | #include "components/animatable.h" |
| 4 | #include "components/transformable.h" | 4 | #include "components/transformable.h" |
| 5 | 5 | ||
| 6 | void RenderingSystem::tick(double dt) | 6 | void RenderingSystem::tick(double) |
| 7 | { | 7 | { |
| 8 | texture.fill(texture.entirety(), 0, 0, 0); | 8 | texture_.fill(texture_.entirety(), 0, 0, 0); |
| 9 | 9 | ||
| 10 | std::set<int> spriteEntities = game.getEntityManager().getEntitiesWithComponents<AnimatableComponent, TransformableComponent>(); | 10 | std::set<id_type> spriteEntities = |
| 11 | for (int entity : spriteEntities) | 11 | game_.getEntityManager().getEntitiesWithComponents< |
| 12 | AnimatableComponent, | ||
| 13 | TransformableComponent>(); | ||
| 14 | |||
| 15 | for (id_type entity : spriteEntities) | ||
| 12 | { | 16 | { |
| 13 | auto& sprite = game.getEntityManager().getComponent<AnimatableComponent>(entity); | 17 | auto& sprite = game_.getEntityManager(). |
| 14 | auto& transform = game.getEntityManager().getComponent<TransformableComponent>(entity); | 18 | getComponent<AnimatableComponent>(entity); |
| 15 | Rectangle dstrect {(int) transform.getX(), (int) transform.getY(), transform.getW(), transform.getH()}; | 19 | |
| 16 | 20 | auto& transform = game_.getEntityManager(). | |
| 17 | texture.blit(sprite.getTexture(), sprite.getFrameRect(), dstrect); | 21 | getComponent<TransformableComponent>(entity); |
| 22 | |||
| 23 | Rectangle dstrect { | ||
| 24 | static_cast<int>(transform.getX()), | ||
| 25 | static_cast<int>(transform.getY()), | ||
| 26 | transform.getW(), | ||
| 27 | transform.getH()}; | ||
| 28 | |||
| 29 | const AnimationSet& aset = sprite.getAnimationSet(); | ||
| 30 | texture_.blit( | ||
| 31 | aset.getTexture(), | ||
| 32 | aset.getFrameRect(sprite.getFrame()), | ||
| 33 | dstrect); | ||
| 18 | } | 34 | } |
| 19 | 35 | ||
| 20 | texture.renderScreen(); | 36 | texture_.renderScreen(); |
| 21 | } | 37 | } |
