60 lines
1.9 KiB
GDScript
60 lines
1.9 KiB
GDScript
extends VBoxContainer
|
|
|
|
var levels_by_index: Array[StringName] = []
|
|
|
|
func _ready() -> void:
|
|
%RoundTimeBox.set_value_no_signal(LobbySettings.round_time)
|
|
%BombTimeBox.set_value_no_signal(LobbySettings.bomb_time)
|
|
%BuyTimeBox.set_value_no_signal(LobbySettings.buy_time)
|
|
%TeamSwitchBox.set_value_no_signal(LobbySettings.half_rounds)
|
|
%RoundBox.set_value_no_signal(LobbySettings.win_score)
|
|
%AllowMultipleAbilityButton.set_pressed_no_signal(LobbySettings.allow_multiple_abilities)
|
|
%AllowTeamSwitch.set_pressed_no_signal(LobbySettings.allow_team_switch)
|
|
%InfiniteMoney.set_pressed_no_signal(LobbySettings.infinite_money)
|
|
|
|
var popup: PopupMenu = %MapsButton.get_popup()
|
|
%MapsButton.text = LobbySettings.selected_map
|
|
popup.index_pressed.connect(on_maps_index_pressed)
|
|
for level in Registry.maps.keys():
|
|
levels_by_index.append(level)
|
|
popup.add_item(level)
|
|
|
|
func _on_round_time_box_value_changed(value: float) -> void:
|
|
LobbySettings.round_time = value
|
|
|
|
|
|
func _on_bomb_time_box_value_changed(value: float) -> void:
|
|
LobbySettings.bomb_time = value
|
|
|
|
|
|
func _on_buy_time_box_value_changed(value: float) -> void:
|
|
LobbySettings.buy_time = value
|
|
|
|
|
|
func _on_round_box_value_changed(value: float) -> void:
|
|
LobbySettings.win_score = int(value)
|
|
%TeamSwitchBox.value = value-1
|
|
|
|
|
|
func _on_team_switch_box_value_changed(value: float) -> void:
|
|
LobbySettings.half_rounds = int(value)
|
|
|
|
|
|
func _on_allow_multiple_ability_button_toggled(toggled_on: bool) -> void:
|
|
LobbySettings.allow_multiple_abilities = toggled_on
|
|
|
|
|
|
func _on_shuffle_pressed() -> void:
|
|
Lobby.shuffle_teams()
|
|
|
|
|
|
func _on_allow_team_switch_toggled(toggled_on: bool) -> void:
|
|
LobbySettings.allow_team_switch = toggled_on
|
|
|
|
func on_maps_index_pressed(index: int):
|
|
%MapsButton.text = levels_by_index[index]
|
|
LobbySettings.selected_map = levels_by_index[index]
|
|
|
|
|
|
func _on_infinite_money_toggled(toggled_on: bool) -> void:
|
|
LobbySettings.infinite_money = toggled_on
|