diff --git a/src/vista/enlace_vista.cpp b/src/vista/enlace_vista.cpp index 512e0ba0..3d6e907d 100644 --- a/src/vista/enlace_vista.cpp +++ b/src/vista/enlace_vista.cpp @@ -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(); @@ -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); } diff --git a/src/vista/enlace_vista.h b/src/vista/enlace_vista.h index df20d5f6..cd3e361b 100644 --- a/src/vista/enlace_vista.h +++ b/src/vista/enlace_vista.h @@ -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;