feat(mvp): complete M13 clean-up milestone (real usernames, avatar studio redesign, pause menu, audio manager)
checkpoint / checkpoint (push) Successful in 6m22s
checkpoint / checkpoint (push) Successful in 6m22s
This commit is contained in:
@@ -81,6 +81,13 @@ func _run() -> void:
|
||||
return
|
||||
|
||||
enter_button.pressed.emit()
|
||||
await process_frame
|
||||
var briefing: Node = instance.find_child("WorldBriefingModal", true, false)
|
||||
if briefing != null:
|
||||
var modal_enter := _find_button(briefing, "Enter World")
|
||||
if modal_enter != null:
|
||||
modal_enter.pressed.emit()
|
||||
|
||||
await _wait_for_scene_change(instance, 600) # generous -- a real POST /join may spawn a dedicated server (slow)
|
||||
|
||||
var game_scene := current_scene
|
||||
@@ -100,16 +107,28 @@ func _run() -> void:
|
||||
var dist := (player as CharacterBody3D).global_position.distance_to((spawn_marker as Marker3D).global_position)
|
||||
_check("player spawned at (or very near) the PlayerSpawn marker", dist < 0.5)
|
||||
|
||||
# 5. Escape should return to world_list.tscn (real key event, not a
|
||||
# direct method call -- proves the actual input binding works).
|
||||
# 5. Escape opens the Pause Menu, and Confirm Leave safely returns to world_list.tscn
|
||||
var esc_event := InputEventKey.new()
|
||||
esc_event.keycode = KEY_ESCAPE
|
||||
esc_event.pressed = true
|
||||
Input.parse_input_event(esc_event)
|
||||
await _wait_for_scene_change(game_scene, 60)
|
||||
await process_frame
|
||||
await process_frame
|
||||
var pause_menu: Node = game_scene.find_child("PauseMenu", true, false)
|
||||
_check("Escape opened PauseMenu in-game", pause_menu != null)
|
||||
if pause_menu != null:
|
||||
var leave_btn := _find_button(pause_menu, "🚪 Leave World")
|
||||
if leave_btn != null:
|
||||
leave_btn.pressed.emit()
|
||||
await process_frame
|
||||
var confirm_btn := _find_button(pause_menu, "Confirm Leave")
|
||||
if confirm_btn != null:
|
||||
confirm_btn.pressed.emit()
|
||||
|
||||
await _wait_for_scene_change(game_scene, 120)
|
||||
|
||||
var back_to_menu := current_scene
|
||||
_check("Escape returned to world_list.tscn", back_to_menu != null and back_to_menu.scene_file_path == "res://scenes/world_list.tscn")
|
||||
_check("Confirmed Leave returned to world_list.tscn", back_to_menu != null and back_to_menu.scene_file_path == "res://scenes/world_list.tscn")
|
||||
|
||||
_finish()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user