Argentum Online - Cliente
game_client.h
1 #ifndef __GAME_CLIENT_H
2 #define __GAME_CLIENT_H
3 
4 /* ----- Includes ----- */
5 #include <atomic>
6 #include <unordered_map>
7 
8 #include "../include/network/socket_manager.h"
9 #include "../include/nlohmann/json.hpp"
10 #include "chat_buffer.h"
11 #include "engine/SDL/sdl_window.h"
12 #include "engine/map.h"
13 #include "game_state_monitor.h"
14 #include "map_change_buffer.h"
15 #include "network/receive_handler.h"
16 #include "inventory_buffer.h"
17 #include "map_decorations_buffer.h"
18 #include "player_info_monitor.h"
19 
24 class GameClient {
25  private:
26  SDLWindow window;
27  SocketManager socket_manager;
28  nlohmann::json config;
29  ClientReceiveHandler receive_handler;
30  MapChangeBuffer map_change_buffer;
31  ChatBuffer chat_buffer;
32  InventoryBuffer inventory_buffer;
33  MapDecorationsBuffer map_decorations_buffer;
34  PlayerInfoMonitor player_info_monitor;
35  GameStateMonitor game_state_monitor;
36 
37  public:
38  GameClient(nlohmann::json config);
39  ~GameClient();
40  void notify_ready();
41  void run();
42 };
43 
44 #endif
SDLWindow
Objeto ventana de SDL.
Definition: sdl_window.h:17
SocketManager
Definition: socket_manager.h:12
PlayerInfoMonitor
Definition: player_info_monitor.h:9
GameClient
Clase principal del programa.
Definition: game_client.h:24
ChatBuffer
Buffer donde se almacenan los mensajes de chat provenientes del servidor.
Definition: chat_buffer.h:15
GameStateMonitor
Monitor mediante el cual se sincroniza el flujo entre vistas.
Definition: game_state_monitor.h:29
InventoryBuffer
Buffer en el cual se almacena la informacion del inventario recibida.
Definition: inventory_buffer.h:12
ClientReceiveHandler
Definition: receive_handler.h:16
MapChangeBuffer
Buffer donde se almacenan los mapas al inicializar, asi como informacion de la entidad que representa...
Definition: map_change_buffer.h:13
MapDecorationsBuffer
Buffer donde se almacenan los items tirados en el piso.
Definition: map_decorations_buffer.h:14