fix(chat): support body and content fields in world and DM chat messages; feat(audio): add sound toggle switch and mute controls
checkpoint / checkpoint (push) Successful in 6m11s

This commit is contained in:
2026-09-19 13:38:23 +00:00
parent 7b693899a7
commit 7abf37ea81
13 changed files with 558 additions and 14 deletions
+39
View File
@@ -87,6 +87,18 @@ static func _update_fs_button(btn: Button) -> void:
btn.text = "⛶ Fullscreen (F11)"
static func _update_sound_button(btn: Button) -> void:
if btn == null or not is_instance_valid(btn):
return
var main_loop = Engine.get_main_loop()
var audio_mgr: Node = main_loop.root.get_node_or_null("AudioManager") if main_loop is SceneTree else null
var enabled: bool = audio_mgr.is_sound_enabled() if audio_mgr and audio_mgr.has_method("is_sound_enabled") else true
if enabled:
btn.text = "🔊 Sound: ON"
else:
btn.text = "🔇 Sound: OFF"
func _ready() -> void:
var v := Label.new()
var bl := _build_label()
@@ -134,6 +146,33 @@ func _ready() -> void:
ctrl_btn.pressed.connect(_on_controls_button_pressed)
add_child(ctrl_btn)
var sound_btn := Button.new()
sound_btn.name = "SoundButton"
sound_btn.set_anchors_preset(Control.PRESET_TOP_RIGHT)
sound_btn.offset_left = -440
sound_btn.offset_top = 10
sound_btn.offset_right = -310
sound_btn.offset_bottom = 38
sound_btn.add_theme_font_size_override("font_size", 12)
_update_sound_button(sound_btn)
sound_btn.pressed.connect(func():
var audio_mgr = get_node_or_null("/root/AudioManager")
if audio_mgr and audio_mgr.has_method("toggle_sound"):
audio_mgr.toggle_sound()
_update_sound_button(sound_btn)
)
var audio_singleton = get_node_or_null("/root/AudioManager")
if audio_singleton and audio_singleton.has_signal("sound_toggled"):
var on_toggled = func(_enabled: bool):
if is_instance_valid(sound_btn):
_update_sound_button(sound_btn)
audio_singleton.sound_toggled.connect(on_toggled)
sound_btn.tree_exiting.connect(func():
if is_instance_valid(audio_singleton) and audio_singleton.sound_toggled.is_connected(on_toggled):
audio_singleton.sound_toggled.disconnect(on_toggled)
)
add_child(sound_btn)
# Cache node references.
_auth_buttons_row = $CenterContainer/VBoxContainer/AuthButtonsRow
_login_button = $CenterContainer/VBoxContainer/AuthButtonsRow/LoginButton