Argentum Online - Cliente
receive_handler.h
1 #ifndef __RECEIVE_HANDLER_H
2 #define __RECEIVE_HANDLER_H
3 
4 #include <atomic>
5 
6 #include "../../include/blocking_th_event_handler.h"
7 #include "../../include/event.h"
8 #include "../chat_buffer.h"
9 #include "../engine/ECS/entity_manager.h"
10 #include "../engine/map.h"
11 #include "../game_state_monitor.h"
12 #include "../inventory_buffer.h"
13 #include "../map_change_buffer.h"
14 #include "../map_decorations_buffer.h"
15 
17  private:
18  void handle(Event &ev) override;
19  void handle_move(Event &ev);
20  void handle_initialization(Event &ev);
21  void handle_entity_update(Event &ev);
22  void handle_chat_message(Event &ev);
23  void handle_map_change(Event &ev);
24  void handle_inventory_update(Event &ev);
25  void handle_loot_update(Event &ev);
26  void handle_incoming_damage(Event &ev);
27  void handle_outcoming_damage(Event &ev);
28  void handle_outcoming_evaded_damage(Event &ev);
29  void handle_incoming_damage_evaded(Event &ev);
30  void handle_name_not_found(Event &ev);
31  void handle_name_already_online(Event &ev);
32  void handle_name_taken(Event &ev);
33  void handle_resuscitate(Event &ev);
34 
35  MapChangeBuffer &map_change_buffer;
36  ChatBuffer &chat_buffer;
37  InventoryBuffer &inventory_buffer;
38  MapDecorationsBuffer &map_decorations_buffer;
39  GameStateMonitor &game_state_monitor;
40  // la idea es tener los handlers todos aca
41 
42  public:
52  ClientReceiveHandler(MapChangeBuffer &map_change_buffer,
53  ChatBuffer &chat_buffer,
54  InventoryBuffer &inventory_buffer,
55  MapDecorationsBuffer &map_decorations_buffer,
56  GameStateMonitor &game_state_monitor);
58 };
59 
60 #endif
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
Event
Definition: event.h:55
InventoryBuffer
Buffer en el cual se almacena la informacion del inventario recibida.
Definition: inventory_buffer.h:12
BlockingThEventHandler
Definition: blocking_th_event_handler.h:22
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
ClientReceiveHandler::ClientReceiveHandler
ClientReceiveHandler(MapChangeBuffer &map_change_buffer, ChatBuffer &chat_buffer, InventoryBuffer &inventory_buffer, MapDecorationsBuffer &map_decorations_buffer, GameStateMonitor &game_state_monitor)
Objeto manejador de eventos provenientes del servidor.
Definition: receive_handler.cpp:18
MapDecorationsBuffer
Buffer donde se almacenan los items tirados en el piso.
Definition: map_decorations_buffer.h:14