Session quitting

This commit is contained in:
Rendo 2025-12-08 14:58:25 +05:00
commit 4dce5bd4ca
7 changed files with 48 additions and 2 deletions

View file

@ -2,6 +2,11 @@ extends Control
var cached_mouse_state: Input.MouseMode
func _ready() -> void:
hide()
Session.session_started.connect(%LeaveButton.show)
Session.session_ended.connect(%LeaveButton.hide)
func _input(event: InputEvent) -> void:
if event.is_action_pressed("menu_settings"):
visible = not visible
@ -25,3 +30,7 @@ func _on_sensitivity_slider_value_changed(value: float) -> void:
func _on_sensitivity_box_value_changed(value: float) -> void:
$VBoxContainer/Sensitivity/HSlider.set_value_no_signal(value)
ClientSettings.SENSITIVITY = value
func _on_leave_button_pressed() -> void:
Session.quit_session()

View file

@ -7,6 +7,7 @@ func _ready() -> void:
Lobby.lobby_created.connect(show_host_buttons)
Lobby.lobby_closed.connect(cleanup_lobby)
Lobby.update_teams_state.connect(on_player_switched_team)
Session.session_ended.connect(on_session_ended)
$Lobby.hide()
$MainMenu.show()
@ -98,3 +99,12 @@ func _on_join_defence_button_pressed() -> void:
func _on_join_spectators_button_pressed() -> void:
Lobby.switch_team(Session.TEAMS.SPECTATE)
func on_session_ended() -> void:
show()
if Lobby.in_lobby:
$MainMenu.hide()
$Lobby.show()
else:
$MainMenu.show()
$Lobby.hide()

View file

@ -0,0 +1,10 @@
extends Node
func _ready() -> void:
Session.session_ended.connect(destroy_level)
func destroy_level() -> void:
for child in get_children():
if child is MultiplayerSpawner:
continue
child.queue_free()

View file

@ -0,0 +1 @@
uid://dj4mlrime72hx

View file

@ -155,6 +155,15 @@ func end_session() -> void:
session_started_flag = false
func quit_session() -> void:
if multiplayer.is_server():
end_session()
else:
session_ended.emit()
session_started_flag = false
Lobby.leave()
@rpc("authority","call_remote","reliable")
func start_round() -> void:
if not is_server_request():