Refactor fase 8: Migrar lógica DEMO/LOGO a StateManager
Implementación: - StateManager::update() ahora maneja timers y triggers DEMO/LOGO - Detección de flips de PNG_SHAPE migrada completamente - Callbacks temporales en Engine para acciones complejas - enterLogoMode() y exitLogoMode() públicos para transiciones automáticas - Toggle methods en Engine delegados a StateManager Callbacks implementados (temporal para Fase 9): - Engine::performLogoAction() - Engine::executeDemoAction() - Engine::executeRandomizeOnDemoStart() - Engine::executeToggleGravityOnOff() - Engine::executeEnterLogoMode() - Engine::executeExitLogoMode() TODO Fase 9: - Eliminar callbacks moviendo lógica completa a StateManager - Limpiar duplicación de estado entre Engine y StateManager 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -70,6 +70,17 @@ class Engine {
|
||||
void toggleDemoLiteMode();
|
||||
void toggleLogoMode();
|
||||
|
||||
// === Métodos públicos para StateManager (callbacks) ===
|
||||
// NOTA FASE 8: StateManager necesita llamar a Engine para ejecutar acciones
|
||||
// que requieren acceso a múltiples componentes (SceneManager, ThemeManager, etc.)
|
||||
// TODO FASE 9: Mover lógica completa a StateManager eliminando estos callbacks
|
||||
void performLogoAction(bool logo_waiting_for_flip);
|
||||
void executeDemoAction(bool is_lite);
|
||||
void executeRandomizeOnDemoStart(bool is_lite);
|
||||
void executeToggleGravityOnOff();
|
||||
void executeEnterLogoMode(size_t ball_count);
|
||||
void executeExitLogoMode();
|
||||
|
||||
private:
|
||||
// === Componentes del sistema (Composición) ===
|
||||
std::unique_ptr<InputHandler> input_handler_; // Manejo de entradas SDL
|
||||
|
||||
Reference in New Issue
Block a user