diff options
author | Daniel Weipert <git@mail.dweipert.de> | 2025-04-02 17:31:58 +0200 |
---|---|---|
committer | Daniel Weipert <git@mail.dweipert.de> | 2025-04-02 17:31:58 +0200 |
commit | 2ffba3f35af0af2902278d062028a5f83e7fbc53 (patch) | |
tree | f108b7176ba63daa7101de43801a39db5ed3f5a0 /main.gd | |
parent | 65bfe9c4c3e09c0d9f5058dd899a82c6a47ec15d (diff) |
Diffstat (limited to 'main.gd')
-rw-r--r-- | main.gd | 58 |
1 files changed, 54 insertions, 4 deletions
@@ -4,17 +4,67 @@ extends Control func _ready() -> void: Network.connected.connect(_on_connected) + show_menu(%MultiPlayer) %HostButton.grab_focus() -func _on_button_pressed() -> void: +func _input(event: InputEvent) -> void: + if event.is_action_pressed("right_click"): + var current_menu: Control + for node in get_children(): + if node is Control and node.visible: + current_menu = node + var back_button = current_menu.find_children("*BackButton", "Button") + if back_button.size() > 0: + back_button[0].pressed.emit() + + +func show_menu(menu_node: Control) -> void: + for node in get_children(): + if node is Control: + node.visible = false + + menu_node.visible = true + + var button = menu_node.find_children("*", "Button") + if button.size() > 0: + button[0].grab_focus() + + +func _on_connected() -> void: + get_tree().change_scene_to_file("res://stage/stage.tscn") + + +func _on_single_player_button_pressed() -> void: + show_menu(%SinglePlayer) + + +func _on_multi_player_button_pressed() -> void: + show_menu(%MultiPlayer) + + +func _on_deck_manager_button_pressed() -> void: + #get_tree().change_scene_to_file("res://ui/deck_manager/deck_manager.tscn") + get_tree().change_scene_to_file("res://ui/dice_configurator.tscn") + # Dice Manager? + # add dice to decks + # but from a pool of dice + # and configure dice seperately + # can configure dice when adding to deck as well? + + +func _on_single_player_back_button_pressed() -> void: + show_menu(%Main) + + +func _on_host_button_pressed() -> void: Network.host() get_tree().change_scene_to_file("res://stage/stage.tscn") -func _on_button_2_pressed() -> void: +func _on_join_button_pressed() -> void: Network.join() -func _on_connected() -> void: - get_tree().change_scene_to_file("res://stage/stage.tscn") +func _on_multi_player_back_button_pressed() -> void: + show_menu(%Main) |