My Project
DrawSpriteSystem.hpp
1 /*
2 ** EPITECH PROJECT, 2020
3 ** DrawSpriteSystem.h
4 ** File description:
5 ** header for DrawSpriteSystem.c
6 */
7 
8 #ifndef R_TYPE_DRAWSPRITESYSTEM_H
9  #define R_TYPE_DRAWSPRITESYSTEM_H
10 
11  /* Ecs */
12  #include "Registry.hpp"
13 
14  /* Graphical Lib */
15  #include "GraphicalLib.hpp"
16 
17  /* Component */
18  #include "Component/CPosition.hpp"
19  #include "Component/CRect.hpp"
20  #include "Component/CAsset.hpp"
21  #include "Component/CAssetId.hpp"
22  #include "Component/CSceneId.hpp"
23  #include "Component/CScale.hpp"
24  #include "Component/CMusic.hpp"
25  #include "Component/CMusicId.hpp"
26 
30 namespace System {
36  public:
42  ~DrawSpriteSystem() = default;
43 
57  void operator()(Registry &registry,
66 
67  protected:
68  private:
69  std::shared_ptr<rtype::GraphicalLib> _graphicLib;
70  };
71 }
72 
73 
74 #endif //R_TYPE_DRAWSPRITESYSTEM_H
Sparse_array
Class that handle Element of type Component like a vector which can be holed.
Definition: SparseArray.hpp:22
System::DrawSpriteSystem
DrawSpriteSystem class that handles the drawing of all the sprite entities.
Definition: DrawSpriteSystem.hpp:35
System::DrawSpriteSystem::DrawSpriteSystem
DrawSpriteSystem()
Construct a new Draw System object.
Definition: DrawSpriteSystem.cpp:13
System
Namespace for systems.
Definition: DirectionSystem.hpp:24
Registry
Class that handle ECS.
Definition: Registry.hpp:22
System::DrawSpriteSystem::operator()
void operator()(Registry &registry, Sparse_array< component::cposition_t > &positions, Sparse_array< component::crect_t > &rectangles, Sparse_array< component::casset_t > &assets, Sparse_array< component::cassetid_t > &assetsId, Sparse_array< component::csceneid_t > &scenesId, Sparse_array< component::cscale_t > &scales, Sparse_array< component::cmusic_t > &musics, Sparse_array< component::cmusicid_t > &musicsId)
Update the DrawSpriteSystem.
Definition: DrawSpriteSystem.cpp:18