Skip to content

Godot: arquitectura de señales y EventBus #37

Description

@leocagli

Objetivo

Definir un bus de eventos central (EventBus) con todas las señales del juego para desacoplar los sistemas entre sí.

Alcance

  • Autoload EventBus.gd como única fuente de verdad de señales
  • Señales de unidades: unit_moved, unit_attacked, unit_died, unit_promoted
  • Señales de ciudad: city_built, city_captured, production_complete
  • Señales de turno: turn_started, turn_phase_changed, turn_ended
  • Señales Web3: wallet_connected, proof_generated, tx_confirmed, web3_error
  • Señales de UI: hex_hovered, unit_selected, city_selected, panel_opened

Skill de referencia

/godot-signal-architecture

Tareas

  • Crear autoloads/EventBus.gd con todos los signal declarados y tipados
  • Añadir EventBus a la lista de autoloads en project.godot
  • Documentar cada señal con un comentario de una línea y sus parámetros
  • Crear scripts/EventBusTypes.gd con enums compartidos (Phase, TerrainType, UnitType)
  • Validar que ningún nodo se suscriba directamente a señales de otro nodo (todo pasa por EventBus)

Aceptación

Todos los sistemas se comunican exclusivamente a través de EventBus; no hay llamadas directas entre escenas no relacionadas y el bus imprime en _DEBUG cada señal emitida si OS.is_debug_build().

Metadata

Metadata

Assignees

No one assigned

    Labels

    godotPort a Godot 4

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions