Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Stewart-DevTeam-Team/stewart_prealpha/llms.txt

Use this file to discover all available pages before exploring further.

En Godot 4, los autoloads son nodos que se instancian automáticamente al iniciar el juego y permanecen disponibles desde cualquier script mediante su nombre registrado. Stewart usa seis autoloads para gestionar los sistemas transversales del juego: progresión narrativa, música, transiciones de escena, datos del jugador y diálogos.

Autoloads registrados

NombreScriptFunción
DialogueManageraddons/dialogue_manager/dialogue_manager.gdReproducción de diálogos
FlagsManagerautoload/flags_manager.gdBanderas booleanas de progresión
GameConstantsautoload/game_constants.gdConstantes globales
MusicManagerautoload/music_manager.gdGestión de música
PlayerStatsautoload/player_stats.gdDatos del jugador
SceneManagerautoload/scene_manager.gdTransiciones de escena

FlagsManager

Gestiona banderas booleanas que controlan la progresión de la historia. Internamente carga el recurso Flags (flags.tres) y valida que todos los items sean de tipo bool al iniciar.
flags_manager.gd
extends Node

var _flags: Flags = load("uid://calw1rmsghoh8")

func _ready():
	_flags.expected_type = TYPE_BOOL
	_flags.check_item_types()

func get_flag(flag: String) -> bool:
	return _flags.get_item(flag)

func set_flag(flag: String, value: bool) -> void:
	print_debug("Bandera %s: %s" % ["activada" if value else "desactivada", flag])
	_flags.set_item(flag, value)

API pública

MétodoRetornaDescripción
get_flag(flag: String)boolDevuelve el valor actual de la bandera.
set_flag(flag: String, value: bool)voidActualiza la bandera e imprime un mensaje de depuración.
Ejemplo de uso:
# Verificar si una ubicación ya fue visitada
if not FlagsManager.get_flag("visited_tavern"):
    FlagsManager.set_flag("visited_tavern", true)

MusicManager

Extiende AudioStreamPlayer para reproducir y pausar música desde el recurso Playlist (playlist.tres).
music_manager.gd
extends AudioStreamPlayer

var _playlist: Playlist = load("uid://bc3risb100107")

func play_music(music_name: String) -> void:
	stream = _playlist.get_item(music_name)
	play()

func switch_music_playing(on = null) -> void:
	if on == null:
		stream_paused = not stream_paused
		return
	stream_paused = on

API pública

MétodoDescripción
play_music(music_name: String)Carga y reproduce la pista con ese nombre desde la playlist.
switch_music_playing(on = null)Sin argumento, alterna pausa/reproducción. Con true pausa; con false reanuda.
Ejemplo de uso:
# Reproducir música del mundo
MusicManager.play_music("overworld_theme")

# Pausar durante un diálogo importante
MusicManager.switch_music_playing(true)

# Reanudar
MusicManager.switch_music_playing(false)

# Alternar
MusicManager.switch_music_playing()

SceneManager

Gestiona las transiciones entre escenas usando el recurso Scenes (scenes.tres), que almacena referencias a PackedScene por nombre.
scene_manager.gd
extends Node

var _scenes: Scenes = load("uid://blrv6slovjbul")

func change_to_scene(scene_name: String) -> void:
	get_tree().change_scene_to_packed(_scenes.get_item(scene_name))

API pública

MétodoDescripción
change_to_scene(scene_name: String)Cambia la escena activa por la escena registrada con ese nombre.
Ejemplo de uso:
# Ir al pueblo
SceneManager.change_to_scene("village")

# Ir al menú principal
SceneManager.change_to_scene("main_menu")

PlayerStats

Almacena los datos del personaje jugable. En la prealpha solo expone el nombre del jugador.
player_stats.gd
extends Node

var player_name: String = "Zarah"
Ejemplo de uso:
# Mostrar el nombre del jugador en un diálogo
var name_label: String = PlayerStats.player_name  # "Zarah"

GameConstants

Reservado para constantes globales del juego. Actualmente está vacío; se llenará a medida que el proyecto crezca.
game_constants.gd
extends Node
# Vacío — destinado a constantes futuras

DialogueManager

Plugin externo de Nathan Hoad registrado como autoload. Gestiona la carga y reproducción de archivos de diálogo .dialogue. Ejemplo de uso:
# Mostrar un globo de diálogo
@export var dialogo: DialogueResource
DialogueManager.show_dialogue_balloon(dialogo, "dialogue_title")
Consulta la documentación del plugin para la referencia completa de su API.

Build docs developers (and LLMs) love