Wiki / API Reference / DialogueManager

DialogueManager

GDScript Core

Orquestador principal del sistema de diálogos. Gestiona la ejecución de conversaciones en múltiples modos, integrando grafos de diálogo con generación de IA.

Nota: Esta clase es el punto de entrada principal para el sistema de diálogos. Maneja automáticamente la carga/descarga de modelos de IA, historial de conversación, y ejecución de grafos.

// Herencia

NodeDialogueManager


// Descripcion

DialogueManager es el componente central que coordina todos los aspectos del sistema de diálogos:

Modos de Diálogo

  • Free Conversación abierta con IA, sin estructura de grafo
  • Scripted Ejecución estricta del grafo de diálogo
  • Hybrid Combina ambos, permitiendo transiciones entre grafo y conversación libre

// Propiedades

Propiedades Exportadas

Tipo Propiedad Default Descripcion
CharacterIdentity default_character null Personaje interactivo por defecto
WorldContext world_context null Contexto mundial compartido
bool streaming_enabled true Habilitar respuestas en streaming
int max_context_tokens 4096 Tokens máximos de contexto
int response_reserve_tokens 512 Tokens reservados para respuesta

Propiedades de Solo Lectura

Tipo Propiedad Descripcion
DialogueMode current_mode Modo actual (FREE/SCRIPTED/HYBRID)
DialogueGraph current_graph Grafo activo
CharacterIdentity active_character Personaje activo actual

// Metodos

Control de Dialogo

Retorno Metodo
void start_dialogue(graph, mode)
void end_dialogue(reason)
bool is_active() const

Interaccion del Jugador

Retorno Metodo
void send_player_message(text)
void select_choice(index)

Configuracion

Retorno Metodo
void set_character(character)
void set_world_context(context)
void set_streaming_enabled(enabled)

Variables y Contexto

Retorno Metodo
Variant get_variable(name, default)
void set_variable(name, value, scope)
bool evaluate_condition(expression)

Query System

Retorno Metodo
bool query_condition(key, expected, default)
bool query_action(key, value)
Variant query_value(key, default)

Utilidades

Retorno Metodo
History get_conversation_history()
Context get_context_manager()
void clear_history()
Dictionary get_debug_info()

// Señales

Ciclo de Vida

Señal Descripción
dialogue_started(graph) Emitida cuando inicia una sesión de diálogo
dialogue_ended(reason) Emitida cuando termina el diálogo
mode_changed(old, new) Emitida cuando cambia el modo de diálogo

Respuestas del NPC

Señal Descripción
npc_speaking(speaker, text, stream) Emitida cuando el NPC comienza a hablar.
npc_response_token(token) Emitida para cada token durante streaming
npc_response_completed(text) Emitida cuando la respuesta está completa

Interaccion del Jugador

Señal Descripción
player_choices_available(choices) Emitida cuando hay opciones disponibles.
waiting_for_player_input Emitida cuando se espera entrada del jugador

Eventos y Variables

Señal Descripción
event_triggered(name, data) Emitida cuando un nodo de evento se ejecuta
variable_changed(name, old, new) Emitida cuando una variable cambia

Carga de Modelo

Señal Descripción
model_loading_started(path) Emitida cuando comienza la carga de IA
model_loading_completed() Emitida cuando el modelo está listo

Query System

Señal Descripción
condition_query_requested(key, ...) Verificar condición: callback.call(bool)
action_query_requested(key, ...) Ejecutar acción: callback.call()
value_query_requested(key, ...) Obtener valor: callback.call(value)

Errores

Señal Descripción
error_occurred(message) Emitida cuando ocurre un error

Descripciones de Metodos

start_dialogue

void start_dialogue(graph: DialogueGraph = null, mode: DialogueMode = HYBRID)

Inicia una nueva sesión de diálogo. Si hay un diálogo activo, lo termina primero.

  • Carga automáticamente el modelo de IA si el grafo especifica model_path
  • Aplica el AIPreset del grafo si está definido
  • Inicializa variables locales desde el grafo

send_player_message

void send_player_message(text: String)

Envía un mensaje del jugador al sistema. En modo FREE genera respuesta IA, en SCRIPTED pasa al grafo.

get_variable

Variant get_variable(name: String, default: Variant = null)

Obtiene una variable del contexto de diálogo.

query_condition

bool query_condition(key: String, expected: Variant = true, default: bool = false)

Consulta una condición al código del juego. Emite condition_query_requested y espera respuesta.

get_debug_info

Dictionary get_debug_info()

Retorna información de debug sobre el estado actual del diálogo.

Volver a Home