Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
autosquash committed Jan 9, 2024
1 parent 7fe1a0e commit 45fdad2
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 22 deletions.
43 changes: 23 additions & 20 deletions src/vista/enlace_vista.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,26 +20,27 @@ namespace {
}
}

} // namespace
ActivacionBotones obtener_activacion_botones( //
const EstadoModelo &estado_modelo
) {
const auto &control_pizzas = estado_modelo.control_pizzas;
// Activacion botones despachar
const modelo::PizzasAContadores &contadores = control_pizzas.contadores;
ActivacionBotones activacion_botones;
obtener_activacion_botones_dependiendo_de_si_hay_preparadas(
contadores, activacion_botones
);

/* Actualiza el estado de los botones en funcion de varios factores */
void EnlaceVista::_actualizar_estado_botones(const Estado &estado) {
const auto &control_pizzas = estado.estado_modelo.control_pizzas;
// Botones despachar
const modelo::PizzasAContadores &contadores = control_pizzas.contadores;
ActivacionBotones activacion_botones;
obtener_activacion_botones_dependiendo_de_si_hay_preparadas(
contadores, activacion_botones
);

// Botones encargar
constexpr int maximo = modelo_info::MAXIMO_PIZZAS_EN_PREPARACION;
const int en_preparacion = estado.estado_modelo.encargos.total();
assert(en_preparacion <= maximo);
const bool se_pueden_preparar_mas = en_preparacion < maximo;
activacion_botones.encargar = se_pueden_preparar_mas;
vista->activar_botones_condicionalmente(activacion_botones);
}
// Activacion botones encargar
constexpr int maximo = modelo_info::MAXIMO_PIZZAS_EN_PREPARACION;
const int en_preparacion = estado_modelo.encargos.total();
assert(en_preparacion <= maximo);
const bool se_pueden_preparar_mas = en_preparacion < maximo;
activacion_botones.encargar = se_pueden_preparar_mas;
return activacion_botones;
}

} // namespace

void EnlaceVista::on_cambio_a_fase_activa() const {
vista->mostrar_elementos_fase_activa();
Expand All @@ -58,6 +59,8 @@ void EnlaceVista::actualizarIU(
const Estado &estado, //
const sf::Time &tiempo_real_actual //
) {
_actualizar_estado_botones(estado);
const auto activacion_botones =
obtener_activacion_botones(estado.estado_modelo);
vista->activar_botones_condicionalmente(activacion_botones);
vista->actualizarIU(target, estado, tiempo_real_actual);
}
2 changes: 0 additions & 2 deletions src/vista/enlace_vista.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@ namespace sf {
class EnlaceVista {
// TODO: hacer vista privado
// TODO: implementar los metodos que faltan
private:
void _actualizar_estado_botones(const Estado &estado);

public:
std::shared_ptr<Vista> vista;
Expand Down

0 comments on commit 45fdad2

Please sign in to comment.