R-TYPE
GraphicSystem.hpp
Go to the documentation of this file.
1 /*
2 ** EPITECH PROJECT, 2022
3 ** B-CPP-500-STG-5-1-rtype-romanie.de-meyer
4 ** File description:
5 ** system
6 */
7 
8 #ifndef GRAPHICSYSTEM_HPP_
9 #define GRAPHICSYSTEM_HPP_
10 
11 #include "../../Graphics/InitSfml.hpp"
12 #include "./System.hpp"
13 
14 namespace ECS {
15 class GraphicSystem : public System {
16 public:
17  GraphicSystem(const std::shared_ptr<ComponentManager>& componentsManager, const std::shared_ptr<EntityManager>& entityManager);
18  ~GraphicSystem() = default;
19 
20  void update();
21  void setSfml(std::shared_ptr<InitSfml> sfml);
22  void setClock(std::shared_ptr<Clock> clock);
23  bool checkIsValidEntity(Entity entity);
24 
25 protected:
26 private:
27  std::shared_ptr<InitSfml> _sfml;
28  std::shared_ptr<sf::RenderWindow> _window;
29  std::shared_ptr<Clock> _clock;
30 };
31 }
32 
33 #endif /* !SYSTEM_HPP_ */
Definition: Entity.hpp:30
Definition: GraphicSystem.hpp:15
void update()
Definition: GraphicSystem.cpp:26
void setClock(std::shared_ptr< Clock > clock)
Definition: GraphicSystem.cpp:61
~GraphicSystem()=default
GraphicSystem(const std::shared_ptr< ComponentManager > &componentsManager, const std::shared_ptr< EntityManager > &entityManager)
Definition: GraphicSystem.cpp:18
void setSfml(std::shared_ptr< InitSfml > sfml)
Definition: GraphicSystem.cpp:50
bool checkIsValidEntity(Entity entity)
Definition: GraphicSystem.cpp:73
Definition: System.hpp:18
Definition: ComponentManager.hpp:14