Argentum Online - Cliente
game_view.h
1 #ifndef __MAIN_GAME_WINDOW_H
2 #define __MAIN_GAME_WINDOW_H
3 #include <atomic>
4 
5 #include "../../../include/network/socket_manager.h"
6 #include "../../../include/nlohmann/json.hpp"
7 #include "../../chat_buffer.h"
8 #include "../../engine/SDL/sdl_window.h"
9 #include "../../engine/camera.h"
10 #include "../../engine/map.h"
11 #include "../../game_state_monitor.h"
12 #include "../../inventory_buffer.h"
13 #include "../../map_decorations_buffer.h"
14 #include "../../player_info_monitor.h"
15 #include "../responsive_scaler.h"
16 #include "hud.h"
17 #include "ui_event_handler.h"
18 
23 class GameView {
24  private:
25  ResponsiveScaler &scaler;
26  SDLWindow &window;
27  MapDecorationsBuffer &map_decorations_buffer;
28  ChatBuffer &chat_buffer;
29  GameStateMonitor &game_state_monitor;
30  Hud hud;
31  Camera camera;
32  UiEventHandler ui_event_handler;
33  Map map;
34 
35  public:
50  GameView(ResponsiveScaler &scaler, int follow_entity_id,
51  SocketManager &socket_manager, SDLWindow &window,
52  ChatBuffer &chat_buffer, InventoryBuffer &inventory_buffer,
53  MapDecorationsBuffer &map_decorations_buffer, PlayerInfoMonitor &player_info_monitor,
54  GameStateMonitor &game_state_monitor, nlohmann::json map_info);
55 
60  void run(int fps);
61 
62  ~GameView();
63 };
64 
65 #endif
SDLWindow
Objeto ventana de SDL.
Definition: sdl_window.h:17
SocketManager
Definition: socket_manager.h:12
PlayerInfoMonitor
Definition: player_info_monitor.h:9
GameView::GameView
GameView(ResponsiveScaler &scaler, int follow_entity_id, SocketManager &socket_manager, SDLWindow &window, ChatBuffer &chat_buffer, InventoryBuffer &inventory_buffer, MapDecorationsBuffer &map_decorations_buffer, PlayerInfoMonitor &player_info_monitor, GameStateMonitor &game_state_monitor, nlohmann::json map_info)
Constructor de la vista principal.
Definition: game_view.cpp:12
Camera
Camara, utilizada para renderizar el mapa y las entidades.
Definition: camera.h:20
ResponsiveScaler
Escalador para hacer las areas responsive.
Definition: responsive_scaler.h:10
ChatBuffer
Buffer donde se almacenan los mensajes de chat provenientes del servidor.
Definition: chat_buffer.h:15
GameView::run
void run(int fps)
Inicia la vista.
Definition: game_view.cpp:38
GameStateMonitor
Monitor mediante el cual se sincroniza el flujo entre vistas.
Definition: game_state_monitor.h:29
Hud
HUD del juego (informacion del jugador).
Definition: hud.h:24
GameView
Vista principal del juego.
Definition: game_view.h:23
InventoryBuffer
Buffer en el cual se almacena la informacion del inventario recibida.
Definition: inventory_buffer.h:12
UiEventHandler
Handler de eventos de usuario de la vista principal.
Definition: ui_event_handler.h:17
Map
Mapa. Contiene toda la informacion estatica del mapa, asi como tambien el loot que esta tirado en el ...
Definition: map.h:27
MapDecorationsBuffer
Buffer donde se almacenan los items tirados en el piso.
Definition: map_decorations_buffer.h:14