RType
AScene.hpp
Go to the documentation of this file.
1 /*
2 ** EPITECH PROJECT, 2023
3 ** R-type
4 ** File description:
5 ** R-type
6 */
7 
8 #pragma once
9 
10 #include "IScene.hpp"
11 
12 class AScene : public IScene
13 {
14  public:
15 
16  /**
17  * @brief AScene, constructor of AScene
18  *
19  * @param clientCore
20  */
21  explicit AScene(ClientCore *clientCore) :
22  IScene(clientCore)
23  {
24  }
25 
26  /**
27  * @brief ~AScene, destructor of AScene
28  */
29  ~AScene() override = default;
30 
31 
32  /**
33  * @brief addComponent, add a component
34  *
35  * @param component
36  */
37  void addComponent(std::shared_ptr<IComponent> component) override;
38 
39  /**
40  * @brief getComponents, get all the components
41  *
42  * @return std::vector<std::shared_ptr<IComponent>>
43  */
45 
46  /**
47  * @brief display, display the scene
48  *
49  * @param window
50  */
51  void display(sf::RenderWindow &window) override;
52 
53  /**
54  * @brief handleEvent, handle the event
55  *
56  * @param event
57  * @param window
58  */
59  void handleEvent(const sf::Event &event, sf::RenderWindow &window) override;
60 
61  /**
62  * @brief update, update the scene
63  */
64  void update() override;
65 
66  /**
67  * @brief pauseScene, pause the scene
68  */
69  void pauseScene() override;
70 
71  /**
72  * @brief resumeScene, resume the scene
73  */
74  void resumeScene() override;
75 
76  /**
77  * @brief stopScene, stop the scene
78  */
79  void stopScene() override;
80 
81  protected:
83 };