From e6d58002a73e1905de872ddbbacf243cf2c93861 Mon Sep 17 00:00:00 2001 From: Yogi Wiguna Date: Thu, 26 Mar 2026 17:39:24 +0800 Subject: [PATCH] feat: Add core multiplayer lobby functionality including UI and state management. --- scenes/lobby.gd | 30 +----------------------------- scripts/managers/lobby_manager.gd | 4 +--- 2 files changed, 2 insertions(+), 32 deletions(-) diff --git a/scenes/lobby.gd b/scenes/lobby.gd index b689620..68cf7cc 100644 --- a/scenes/lobby.gd +++ b/scenes/lobby.gd @@ -467,12 +467,7 @@ func _update_settings_visibility() -> void: sng_stop_option.disabled = not is_host sng_goals_option.disabled = not is_host - var is_doors = LobbyManager.game_mode == "Tekton Doors" - if doors_settings_container: - doors_settings_container.visible = is_doors - doors_swap_option.disabled = not is_host - doors_refresh_option.disabled = not is_host - doors_goals_option.disabled = not is_host + sng_goals_option.disabled = not is_host func _create_custom_settings_ui() -> void: var settings_section = $LobbyPanel/TopBar/SettingsSection @@ -501,29 +496,6 @@ func _create_custom_settings_ui() -> void: sng_goals_option.item_selected.connect(func(idx): if LobbyManager.is_host: LobbyManager.set_sng_required_goals([5, 8, 12][idx])) sng_settings_container.add_child(sng_goals_option) - # Tekton Doors - doors_settings_container = HBoxContainer.new() - doors_settings_container.visible = false - settings_section.add_child(doors_settings_container) - - _add_label(doors_settings_container, "Swap Wait:") - doors_swap_option = OptionButton.new() - doors_swap_option.add_item("10s"); doors_swap_option.add_item("15s"); doors_swap_option.add_item("30s") - doors_swap_option.item_selected.connect(func(idx): if LobbyManager.is_host: LobbyManager.set_doors_swap_time([10, 15, 30][idx])) - doors_settings_container.add_child(doors_swap_option) - - _add_label(doors_settings_container, "Tile Refresh:") - doors_refresh_option = OptionButton.new() - doors_refresh_option.add_item("15s"); doors_refresh_option.add_item("25s"); doors_refresh_option.add_item("40s") - doors_refresh_option.item_selected.connect(func(idx): if LobbyManager.is_host: LobbyManager.set_doors_refresh_time([15, 25, 40][idx])) - doors_settings_container.add_child(doors_refresh_option) - - _add_label(doors_settings_container, "Req Goals:") - doors_goals_option = OptionButton.new() - doors_goals_option.add_item("5"); doors_goals_option.add_item("8"); doors_goals_option.add_item("12") - doors_goals_option.item_selected.connect(func(idx): if LobbyManager.is_host: LobbyManager.set_doors_required_goals([5, 8, 12][idx])) - doors_settings_container.add_child(doors_goals_option) - # Move Game Mode selector to the far right var gm_spacer = settings_section.get_node_or_null("GameModeSpacer") var gm_option = settings_section.get_node_or_null("GameModeOption") diff --git a/scripts/managers/lobby_manager.gd b/scripts/managers/lobby_manager.gd index 01fffd2..c54bc2e 100644 --- a/scripts/managers/lobby_manager.gd +++ b/scripts/managers/lobby_manager.gd @@ -77,7 +77,7 @@ var rematch_votes: Array = [] # [player_id, ...] # Character and area selection var available_characters: Array[String] = ["Copper", "Dabro", "Gatot", "Pip", "Random"] var available_areas: Array[String] = [] -var available_game_modes: Array[String] = ["Freemode", "Stop n Go", "Tekton Doors"] +var available_game_modes: Array[String] = ["Freemode", "Stop n Go"] var selected_area: String = "Classic" # Host-controlled var game_mode: String = "Freemode" # Host-controlled var local_character_index: int = 0 # Local player's character index @@ -132,8 +132,6 @@ func _update_available_areas(mode: String) -> void: available_areas = ["Classic", "Colloseum"] "Stop n Go": available_areas = ["Stop N Go Arena"] - "Tekton Doors": - available_areas = ["Tekton Doors Arena"] _: available_areas = ["Classic"]