Integrate per-save identity and interaction UI
This commit is contained in:
parent
ac82a28f3b
commit
4fda6e97f6
58 changed files with 3471 additions and 461 deletions
|
|
@ -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()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue