Session quitting
This commit is contained in:
parent
2705959bfd
commit
4dce5bd4ca
7 changed files with 48 additions and 2 deletions
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
10
scripts/multiplayer/level_container.gd
Normal file
10
scripts/multiplayer/level_container.gd
Normal 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()
|
||||
1
scripts/multiplayer/level_container.gd.uid
Normal file
1
scripts/multiplayer/level_container.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://dj4mlrime72hx
|
||||
|
|
@ -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():
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue