Integrate per-save identity and interaction UI

This commit is contained in:
Alexander Sellite 2026-09-01 17:30:50 -04:00
parent ac82a28f3b
commit 4fda6e97f6
58 changed files with 3471 additions and 461 deletions

View file

@ -123,6 +123,32 @@ func _run_client() -> void:
)
await _wait_for_join(main, session, SECOND_HOST_PORT)
assert(bool(main.get("_gameplay_started")))
var save_slots := main.get("_save_slots") as PlayerSaveSlotCatalog
var save_manager := main.get("_save_manager") as PlayerSaveManager
var local_slot_id: String = save_slots.get_active_slot_id()
assert(not local_slot_id.is_empty())
main.call("_on_return_to_title_requested")
var title_deadline: int = Time.get_ticks_msec() + WAIT_SECONDS * 1000
while (
Time.get_ticks_msec() < title_deadline
and session.state != NetworkSession.State.INACTIVE
):
await process_frame
assert(session.state == NetworkSession.State.INACTIVE)
assert(not bool(main.get("_gameplay_started")))
assert(not save_manager.is_dirty())
main.call("_on_slot_play_requested", local_slot_id)
var local_deadline: int = Time.get_ticks_msec() + WAIT_SECONDS * 1000
while (
Time.get_ticks_msec() < local_deadline
and (
not session.is_host()
or not bool(main.get("_gameplay_started"))
)
):
await process_frame
assert(session.is_host())
assert(bool(main.get("_gameplay_started")))
print("Session switch multiplayer client validation: PASS")
session.disconnect_session("")
main.queue_free()