fix(multiplayer): project accepted queue state

This commit is contained in:
Josh Creek
2026-09-01 21:54:10 +01:00
parent fa2c93ec06
commit 6ac2d0fbb1
5 changed files with 20 additions and 2 deletions
+5 -1
View File
@@ -35,7 +35,7 @@ func _ready() -> void:
func _process(delta: float) -> void:
if ControlPlaneClient.state.phase in [MatchmakingState.QUEUED, MatchmakingState.PROPOSED, MatchmakingState.ALLOCATING]:
if ControlPlaneClient.state.phase in [MatchmakingState.QUEUED, MatchmakingState.PROPOSED, MatchmakingState.ACCEPTED, MatchmakingState.ALLOCATING]:
_elapsed_seconds += delta
_heartbeat_seconds += delta
_recovery_poll_seconds += delta
@@ -149,6 +149,8 @@ static func phase_label(phase: String) -> String:
return "Searching for players"
MatchmakingState.PROPOSED:
return "Match found — confirm"
MatchmakingState.ACCEPTED:
return "Match accepted — preparing server"
MatchmakingState.ALLOCATING:
return "Preparing match server"
MatchmakingState.PROCESS_READY:
@@ -181,6 +183,8 @@ func _render(snapshot: Dictionary) -> void:
detail_label.text = "Waiting %.0fs · revision %d" % [waited, int(snapshot.get("revision", 0))]
elif phase == MatchmakingState.PROPOSED:
detail_label.text = "Review the proposal before the countdown expires"
elif phase == MatchmakingState.ACCEPTED:
detail_label.text = "All players accepted; preparing the match server"
elif phase == MatchmakingState.IDLE:
detail_label.text = "Choose a playlist to begin"
cancel_button.visible = ControlPlaneClient.state.can_cancel()
+2 -1
View File
@@ -11,6 +11,7 @@ signal resync_required(resource_id: String)
const IDLE := "IDLE"
const QUEUED := "QUEUED"
const PROPOSED := "PROPOSED"
const ACCEPTED := "ACCEPTED"
const ALLOCATING := "ALLOCATING"
const PROCESS_READY := "PROCESS_READY"
const ASSIGNMENT_READY := "ASSIGNMENT_READY"
@@ -241,7 +242,7 @@ func _reset() -> void:
func _is_ticket_state(value: String) -> bool:
return value in [QUEUED, PROPOSED, ALLOCATING, PROCESS_READY, ASSIGNMENT_READY, CONNECTING, LIVE, CANCELLED, EXPIRED, FAILED]
return value in [QUEUED, PROPOSED, ACCEPTED, ALLOCATING, PROCESS_READY, ASSIGNMENT_READY, CONNECTING, LIVE, CANCELLED, EXPIRED, FAILED]
func _has_string(value: Dictionary, key: String) -> bool: