refactor(bloques2-5): auditoria de codi - limpieza i arquitectura
Bloque 2: eliminar codi mort comentat (shape_manager, engine)
Bloque 3: Engine shape methods com thin wrappers a ShapeManager;
eliminar estat duplicat de shapes en Engine
Bloque 4: encapsular getBallsMutable() amb helpers a SceneManager
(enableShapeAttractionAll, resetDepthScalesAll)
Bloque 5: StateManager Phase 9 - tota la logica DEMO/LOGO
implementada directament amb refs a SceneManager,
ThemeManager i ShapeManager; eliminar callbacks a Engine.
Acoplament Engine<->StateManager passa a unidireccional.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -9,6 +9,9 @@
|
||||
class Engine;
|
||||
class Shape;
|
||||
class PNGShape;
|
||||
class SceneManager;
|
||||
class ThemeManager;
|
||||
class ShapeManager;
|
||||
|
||||
/**
|
||||
* @class StateManager
|
||||
@@ -37,10 +40,13 @@ class StateManager {
|
||||
~StateManager();
|
||||
|
||||
/**
|
||||
* @brief Inicializa el StateManager con referencia al Engine
|
||||
* @param engine Puntero al Engine (para callbacks)
|
||||
* @brief Inicializa el StateManager con referencias a los subsistemas necesarios
|
||||
* @param engine Puntero al Engine (para cambios de modo y texturas)
|
||||
* @param scene_mgr Puntero a SceneManager (para control de bolas/gravedad)
|
||||
* @param theme_mgr Puntero a ThemeManager (para cambios de tema)
|
||||
* @param shape_mgr Puntero a ShapeManager (para figuras)
|
||||
*/
|
||||
void initialize(Engine* engine);
|
||||
void initialize(Engine* engine, SceneManager* scene_mgr, ThemeManager* theme_mgr, ShapeManager* shape_mgr);
|
||||
|
||||
/**
|
||||
* @brief Actualiza la máquina de estados (timers, triggers, acciones)
|
||||
@@ -145,8 +151,11 @@ class StateManager {
|
||||
void exitLogoMode(bool return_to_demo);
|
||||
|
||||
private:
|
||||
// === Referencia al Engine (callback) ===
|
||||
// === Referencias a subsistemas ===
|
||||
Engine* engine_;
|
||||
SceneManager* scene_mgr_;
|
||||
ThemeManager* theme_mgr_;
|
||||
ShapeManager* shape_mgr_;
|
||||
|
||||
// === Estado de aplicación ===
|
||||
AppMode current_app_mode_;
|
||||
|
||||
Reference in New Issue
Block a user