Argentum Online - Servidor
game_manager.h
1 #ifndef GAME_MANAGER_H
2 #define GAME_MANAGER_H
3 
4 #include "entities/mob_factory.h"
5 #include "game_loop.h"
6 #include "items/item_factory.h"
7 #include "map_manager.h"
8 #include "map_monitor.h"
9 
10 class GameManager {
11  private:
12  friend class ServerManager;
13  static GameManager* instance;
14 
15  ItemFactory item_factory;
16  MobFactory mob_factory;
17  MapManager map_manager;
18  GameLoop game_loop;
19 
20  GameManager(const char* items_index_path, const char* mobs_index_path,
21  const char* maps_index_path);
22 
23  public:
24  static GameManager& get_instance();
25  ~GameManager();
26 
27  void start();
28 
29  ItemFactory& get_item_factory();
30  MobFactory& get_mob_factory();
31  MapManager& get_map_manager();
32 
33  void finish();
34 };
35 
36 #endif // GAME_MANAGER_H
GameManager
Definition: game_manager.h:10
MapManager
Definition: map_manager.h:11
ServerManager
Orquestador de las componentes del servidor. (Singleton)
Definition: server_manager.h:31
GameLoop
Definition: game_loop.h:9
ServerManager::finish
void finish()
Cerrar y finalizar el servidor de forma ordenada.
Definition: server_manager.cpp:140
ServerManager::start
void start()
Empezar a ejecutar la instancia del servidor.
Definition: server_manager.cpp:20
MobFactory
Definition: mob_factory.h:11
ItemFactory
Definition: item_factory.h:18