Skip to content

Commit

Permalink
Utiliza ComponenteConFont para pasar las fuentes
Browse files Browse the repository at this point in the history
- Los componentes se estructuran por medio de un árbol jerárquico.
  • Loading branch information
autosquash committed Jan 26, 2024
1 parent 521dc28 commit 61dbb60
Show file tree
Hide file tree
Showing 43 changed files with 572 additions and 397 deletions.
18 changes: 18 additions & 0 deletions dev/estructura.md
Original file line number Diff line number Diff line change
Expand Up @@ -246,10 +246,21 @@
- vista/basicos_vista.h
- vista/componentes/botones.h
- vista/componentes/crear_etiqueta.h
- vista/datos_botones.h

- vista/botones_app.h:
- modelo/dominio.h
- vista/componente.h
- vista/componentes/boton_con_texto.h
- vista/vista_shared.h

- vista/botones_encargar.h:
- modelo/dominio.h
- templates/helpers.h
- vista/basicos_vista.h
- vista/componentes/boton_con_texto.h
- vista/componentes/botones.h
- vista/datos_botones.h

- vista/cadenas.cpp:
- vista/cadenas.h
Expand All @@ -268,6 +279,7 @@

- vista/componentes/barra_progreso.h:
- shared/font.h
- vista/componente.h

- vista/componentes/boton_con_texto.cpp:
- vista/componentes/boton_con_texto.h
Expand All @@ -276,6 +288,7 @@
- vista/componentes/etiqueta.h

- vista/componentes/boton_con_texto.h:
- vista/componente.h
- vista/componentes/boton_data.h
- vista/componentes/componente_old_style.h

Expand All @@ -288,6 +301,7 @@

- vista/componentes/botones.h:
- vista/componentes/boton_con_texto.h
- vista/vista_shared.h

- vista/componentes/crear_etiqueta.cpp:
- vista/componentes/crear_etiqueta.h
Expand All @@ -298,6 +312,7 @@

- vista/componentes/etiqueta.cpp:
- vista/componentes/etiqueta.h
- juego_assert.h
- shared/font.h

- vista/componentes/etiqueta.h:
Expand Down Expand Up @@ -346,6 +361,7 @@

- vista/etiquetas/etiquetas_barra_estado.h:
- shared/font.h
- vista/componente.h

- vista/etiquetas/etiquetas_info.cpp:
- vista/etiquetas/etiquetas_info.h
Expand All @@ -358,6 +374,7 @@
- vista/etiquetas/etiquetas_info.h:
- shared/font.h
- shared/num_nivel.h
- vista/componente.h
- vista/presentacion_vista.h

- vista/etiquetas/etiquetas_pedidos.cpp:
Expand Down Expand Up @@ -406,6 +423,7 @@
- shared/log_init.h
- templates/dibujar_elementos.h
- vista/basicos_vista.h
- vista/botones_encargar.h
- vista/componentes/etiqueta.h
- vista/etiquetas/etiquetas.h

Expand Down
15 changes: 9 additions & 6 deletions src/controlador_clicks.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@
#include "vista/botones_app.h"

std::optional<Comando> ControladorClicks::genera_comando(
const std::function<bool(const BotonConTexto &boton)> &pulsado, //
const std::shared_ptr<const BotonesApp> &botones, //
const FaseNivel fase_actual //
const std::function<bool(const std::shared_ptr<BotonConTexto> boton)>
&pulsado, //
const std::shared_ptr<const BotonesApp> &botones, //
const FaseNivel fase_actual //
) {
// Fijos
if (pulsado(botones->generales.salir)) {
Expand Down Expand Up @@ -48,9 +49,11 @@ std::optional<Comando> ControladorClicks::procesa_click(
const FaseNivel fase_actual, //
const sf::Vector2i &mouse_pos //
) {
const auto pulsado = [globales, &mouse_pos](const BotonConTexto &boton) {
return globales->detecta_colision(boton, mouse_pos);
};
const auto pulsado =
[globales, &mouse_pos](const std::shared_ptr<BotonConTexto> boton) {
auto deteccion = globales->detecta_colision(boton, mouse_pos);
return deteccion;
};
std::optional<Comando> comando = genera_comando( //
pulsado, botones, fase_actual
);
Expand Down
16 changes: 8 additions & 8 deletions src/controlador_clicks.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,21 @@
#include "modelo_amplio/comandos.h"
#include <SFML/System/Vector2.hpp>
#include <functional>
#include <memory>
#include <optional>

enum class FaseNivel;
struct BotonConTexto;
class BotonConTexto;
class BotonesApp;
struct ModeloAmplio;
struct Globales;
struct RealizadorBase;
class Globales;

struct ControladorClicks {
class ControladorClicks {
private:
std::optional<Comando> genera_comando(
const std::function<bool(const BotonConTexto &boton)> &pulsado, //
const std::shared_ptr<const BotonesApp> &, //
const FaseNivel fase_actual //
const std::function<bool(const std::shared_ptr<BotonConTexto> boton)>
&pulsado, //
const std::shared_ptr<const BotonesApp> &, //
const FaseNivel fase_actual //
);

public:
Expand Down
1 change: 0 additions & 1 deletion src/demos/demo_nivel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
#include <iostream>

int demo_nivel(NumNivelOpcional numero_nivel) {

std::cout << "DEMO NIVEL " << numero_nivel.to_string() << std::endl;
int indice_nivel = numero_nivel.get_valor() - 1;
const auto globales = std::make_shared<Globales>();
Expand Down
6 changes: 3 additions & 3 deletions src/globales.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
#include "vista/componentes/boton_con_texto.h"

bool Globales::detecta_colision(
const BotonConTexto &boton, const sf::Vector2i &mouse_pos
std::shared_ptr<BotonConTexto> boton, const sf::Vector2i &mouse_pos
) {
bool hay_colision = boton.colisiona(mouse_pos);
bool hay_colision = boton->colisiona(mouse_pos);
if (hay_colision) {
const auto id_boton = boton.get_id();
const auto id_boton = boton->get_id();
sf::Sound &sound = sounds[id_boton];
if (button_click_buffer) {
sound.setBuffer(button_click_buffer.value());
Expand Down
7 changes: 4 additions & 3 deletions src/globales.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,16 @@
#include <SFML/Audio/SoundBuffer.hpp>
#include <SFML/Graphics/Font.hpp>
#include <SFML/Graphics/RenderWindow.hpp>
#include <memory>
#include <optional>

namespace sf {
class Sound;
}

struct BotonConTexto;
class BotonConTexto;

struct Globales {
class Globales {
private:
std::map<int, sf::Sound> sounds;

Expand All @@ -24,6 +25,6 @@ struct Globales {
std::optional<sf::SoundBuffer> button_click_buffer;
sf::Music music;
bool detecta_colision(
const BotonConTexto &boton, const sf::Vector2i &mouse_pos //
std::shared_ptr<BotonConTexto> boton, const sf::Vector2i &mouse_pos
);
};
3 changes: 2 additions & 1 deletion src/modelo/modelo_interno.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
#include "datos_modelo_interno.h"
#include "encargos.h"

struct ModeloInterno {
class ModeloInterno {
public:
GestorTiempoJuego gestor_tiempo;
modelo::ControlPizzas control_pizzas;
Encargos encargos;
Expand Down
6 changes: 3 additions & 3 deletions src/nivel.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
#include "vista/grid.h"
#include "vista/vista.h"

enum class FaseNivel;
class BotonesApp;
struct ControladorClicks;
class ControladorClicks;
class Globales;
enum class FaseNivel;
struct DatosNivel;
struct EjecucionEnProceso;
struct Globales;

namespace modelo {
struct ControlPizzas;
Expand Down
2 changes: 1 addition & 1 deletion src/setup_juego.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@

#include <memory>

struct Globales;
class Globales;

bool setup_juego(std::shared_ptr<Globales>);
11 changes: 5 additions & 6 deletions src/vista/barras_progreso.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ namespace medidas {
} // namespace medidas

/* Crea y actualiza las barras de progreso */
std::vector<BarraProgresoConNombre> crear_barras_progreso(
std::vector<std::shared_ptr<BarraProgresoConNombre>> crear_barras_progreso(
const VistaPreparacionPizzas &vista_preparacion_pizzas,
const sf::Vector2f &pos_panel, const OptionalFont &font
) {
std::vector<BarraProgresoConNombre> vect{};
std::vector<std::shared_ptr<BarraProgresoConNombre>> vect{};
const int pos_x = pos_panel.x + medidas::MARGEN_IZQ_ETIQUETAS;
const int pos_y_inicial = pos_panel.y + medidas::FILA_CONTENIDO_PANEL;
const int ancho = 300;
Expand All @@ -28,14 +28,13 @@ std::vector<BarraProgresoConNombre> crear_barras_progreso(
colores::barra_progreso::RELLENO,
colores::barra_progreso::TEXTO,
};
BarraProgresoConNombre bpn(
auto bpn = std::make_shared<BarraProgresoConNombre>(
dimensiones, //
vista_preparacion_pizza.nombre_pizza, //
posicion, //
bpn_colors, //
font //
bpn_colors //
);
bpn.actualizar_porcentaje(vista_preparacion_pizza.porcentaje);
bpn->actualizar_porcentaje(vista_preparacion_pizza.porcentaje);
vect.push_back(bpn);
i++;
}
Expand Down
9 changes: 5 additions & 4 deletions src/vista/barras_progreso.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@

#include "componentes/barra_progreso.h"
#include "presentaciones.h"
#include <memory>
#include <vector>

struct EstadoPreparacionPizzas;

std::vector<BarraProgresoConNombre> crear_barras_progreso( //
const VistaPreparacionPizzas &, //
const sf::Vector2f &pos_panel, //
const OptionalFont & //
std::vector<std::shared_ptr<BarraProgresoConNombre>> crear_barras_progreso( //
const VistaPreparacionPizzas &, //
const sf::Vector2f &pos_panel, //
const OptionalFont & //
);
Loading

0 comments on commit 61dbb60

Please sign in to comment.