Architecture Arcade
Architecture Commune Arcade
IGameModule.hpp
Go to the documentation of this file.
1 /*
2 ** EPITECH PROJECT, 2023
3 ** Archi Arcade Promo 2026 Toulouse
4 ** File description:
5 ** GameModule that will be passed to all systems, implemented in the core (it
6 ** contains the Scene Manager created in the game lib)
7 */
8 
9 #pragma once
10 
11 #include <string>
12 #include "IEntityManager.hpp"
13 #include "IEventManager.hpp"
14 #include "IScene.hpp"
15 
16 namespace Arcade {
17  namespace Game {
24  class IGameModule {
25  public:
26  virtual ~IGameModule() = default;
27 
36  virtual void update(
37  double deltaTime, Arcade::ECS::IEventManager &eventManager) = 0;
45  };
46  } // namespace Game
47 } // namespace Arcade
Definition: ArcadeStruct.hpp:10
Manage the creation of entities and their access.
Definition: IEntityManager.hpp:19
The IEventManager interface.
Definition: IEventManager.hpp:105
The IGameModule interface.
Definition: IGameModule.hpp:24
virtual ~IGameModule()=default
virtual void update(double deltaTime, Arcade::ECS::IEventManager &eventManager)=0
method that will be called each frame by the core
virtual Arcade::ECS::IEntityManager & getCurrentEntityManager()=0
Get the entity manager of the current active scene.