GameKit  0.0.1a
C++ gamedev tools
SpriteView.cpp
Go to the documentation of this file.
1 /*
2  * =====================================================================================
3  *
4  * Filename: SpriteView.cpp
5  *
6  * Description:
7  *
8  * Created: 26/01/2018 01:30:28
9  *
10  * Author: Quentin Bazin, <quent42340@gmail.com>
11  *
12  * =====================================================================================
13  */
14 #include "gk/graphics/Image.hpp"
16 #include "gk/graphics/Sprite.hpp"
21 
22 namespace gk {
23 
24 void SpriteView::draw(const SceneObject &object, RenderTarget &target, RenderStates states) {
25  if (object.has<LifetimeComponent>() && object.get<LifetimeComponent>().dead(object))
26  return;
27 
28  if (object.has<PositionComponent>())
29  states.transform.translate({object.get<PositionComponent>(), 0.f});
30 
31  if(object.has<Image>()) {
32  target.draw(object.get<Image>(), states);
33  }
34 
35  if(object.has<Sprite>()) {
36  target.draw(object.get<Sprite>(), states);
37  }
38 }
39 
40 } // namespace gk
41 
Transform & translate(float x, float y, float z=0)
Definition: Transform.cpp:28
void draw(const IDrawable &drawable, const RenderStates &states=RenderStates::Default)
Transform transform
void draw(const SceneObject &object, RenderTarget &target, RenderStates states) override
Definition: SpriteView.cpp:24