Added options menu in-game

remotes/1711838515240372319/tmp_refs/heads/godot4-port
desktop 2020-12-11 13:24:37 +01:00
parent 810801c4c6
commit b07f1cadad
3 changed files with 17 additions and 6 deletions

14
Game.gd
View File

@ -19,6 +19,8 @@ var settingmap = {
var peer = NetworkedMultiplayerENet.new()
var local_player = null setget set_local_player
onready var menu_stack = [$MenuContainer/MainMenu]
func set_local_player(player):
local_player = player
player.set_local_player()
@ -64,7 +66,7 @@ func _input(event):
if event.is_action_pressed("ToggleMenu"):
if GAME_MODE == "PLAYING" and not $MenuContainer.is_visible():
open_menus()
elif $MenuContainer/MainMenu.is_visible():
elif $MenuContainer/CharacterSelectScreen.is_visible():
close_menus()
else:
# Find the back button
@ -93,9 +95,16 @@ func close_menus():
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
$MenuContainer.hide()
func return_to_menu(type):
func return_to_menu(type=null):
if type == null:
menu_stack.pop_back()
type = menu_stack[-1].name
for menu in $MenuContainer.get_children():
if menu.name == type:
if type != null:
while menu_stack[-1].name != type:
menu_stack.pop_back()
menu.show()
else:
menu.hide()
@ -103,6 +112,7 @@ func return_to_menu(type):
func open_menu(type):
for menu in $MenuContainer.get_children():
if menu.name == type:
menu_stack.append(menu)
menu.show()
else:
menu.hide()

View File

@ -300,6 +300,7 @@ alignment = 1
[connection signal="pressed" from="MenuContainer/MainMenu/Disconnect" to="." method="free_client"]
[connection signal="pressed" from="MenuContainer/MainMenu/Options" to="." method="open_menu" binds= [ "OptionsMenu" ]]
[connection signal="pressed" from="MenuContainer/MainMenu/Quit" to="." method="quit"]
[connection signal="pressed" from="MenuContainer/CharacterSelectScreen/CenterContainer/VBoxContainer/Options/OptionsButton" to="." method="open_menu" binds= [ "OptionsMenu" ]]
[connection signal="pressed" from="MenuContainer/CharacterSelectScreen/CenterContainer/VBoxContainer/Options/DisconnectButton" to="." method="free_client"]
[connection signal="pressed" from="MenuContainer/ConnectMenu/Back" to="." method="return_to_menu" binds= [ "MainMenu" ]]
[connection signal="text_changed" from="MenuContainer/ConnectMenu/Destination/IPAdress" to="." method="set_ip"]
@ -309,7 +310,7 @@ alignment = 1
[connection signal="pressed" from="MenuContainer/ConnectMenu/Home" to="." method="join_home"]
[connection signal="pressed" from="MenuContainer/ConnectMenu/Unfa" to="." method="join_unfa"]
[connection signal="pressed" from="MenuContainer/ConnectMenu/Jan" to="." method="join_jan"]
[connection signal="pressed" from="MenuContainer/OptionsMenu/Back" to="." method="return_to_menu" binds= [ "MainMenu" ]]
[connection signal="pressed" from="MenuContainer/OptionsMenu/Back" to="." method="return_to_menu"]
[connection signal="pressed" from="MenuContainer/OptionsMenu/Controls" to="." method="open_menu" binds= [ "ControlsMenu" ]]
[connection signal="pressed" from="MenuContainer/OptionsMenu/Graphics" to="." method="open_menu" binds= [ "GraphicsMenu" ]]
[connection signal="pressed" from="MenuContainer/ControlsMenu/Back" to="." method="return_to_menu" binds= [ "OptionsMenu" ]]

View File

@ -3,6 +3,6 @@ extends HBoxContainer
var player setget set_player
var network_id
func set_player(player):
$Nickname.text = player.nickname
network_id = player.name
func set_player(_player):
$Nickname.text = _player.nickname
network_id = _player.name