multiplayer: added option for upnp
This commit is contained in:
parent
caaa09e517
commit
cc4c593745
2 changed files with 16 additions and 6 deletions
|
|
@ -113,7 +113,12 @@ text = "Menu
|
||||||
"
|
"
|
||||||
horizontal_alignment = 1
|
horizontal_alignment = 1
|
||||||
|
|
||||||
[node name="ServerButton2" type="Button" parent="UI/Menu/MarginContainer/VBoxContainer"]
|
[node name="DisableUPNPButton" type="CheckButton" parent="UI/Menu/MarginContainer/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Disable UPNP
|
||||||
|
"
|
||||||
|
|
||||||
|
[node name="ServerButton" type="Button" parent="UI/Menu/MarginContainer/VBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Host
|
text = "Host
|
||||||
"
|
"
|
||||||
|
|
@ -131,5 +136,5 @@ text = "Enter Address"
|
||||||
_spawnable_scenes = PackedStringArray("uid://cfceg80unq0pe")
|
_spawnable_scenes = PackedStringArray("uid://cfceg80unq0pe")
|
||||||
spawn_path = NodePath("..")
|
spawn_path = NodePath("..")
|
||||||
|
|
||||||
[connection signal="pressed" from="UI/Menu/MarginContainer/VBoxContainer/ServerButton2" to="." method="_on_server_button_pressed"]
|
[connection signal="pressed" from="UI/Menu/MarginContainer/VBoxContainer/ServerButton" to="." method="_on_server_button_pressed"]
|
||||||
[connection signal="pressed" from="UI/Menu/MarginContainer/VBoxContainer/ClientButton" to="." method="_on_client_button_pressed"]
|
[connection signal="pressed" from="UI/Menu/MarginContainer/VBoxContainer/ClientButton" to="." method="_on_client_button_pressed"]
|
||||||
|
|
|
||||||
13
server.gd
13
server.gd
|
|
@ -2,6 +2,7 @@ extends Node3D
|
||||||
|
|
||||||
@onready var menu = $UI/Menu
|
@onready var menu = $UI/Menu
|
||||||
@onready var address_entry = $UI/Menu/MarginContainer/VBoxContainer/LineEdit
|
@onready var address_entry = $UI/Menu/MarginContainer/VBoxContainer/LineEdit
|
||||||
|
@onready var disable_upnp = $UI/Menu/MarginContainer/VBoxContainer/DisableUPNPButton
|
||||||
|
|
||||||
const port = 9999
|
const port = 9999
|
||||||
const player_scene = preload("res://player/player.tscn")
|
const player_scene = preload("res://player/player.tscn")
|
||||||
|
|
@ -12,15 +13,19 @@ func _on_server_button_pressed() -> void:
|
||||||
peer.create_server(port)
|
peer.create_server(port)
|
||||||
multiplayer.multiplayer_peer = peer
|
multiplayer.multiplayer_peer = peer
|
||||||
multiplayer.peer_connected.connect(add_player)
|
multiplayer.peer_connected.connect(add_player)
|
||||||
multiplayer.peer_disconnected.connect(remove_player)
|
multiplayer.peer_disconnected.connect(remove_player)
|
||||||
|
|
||||||
add_player(multiplayer.get_unique_id())
|
add_player(multiplayer.get_unique_id())
|
||||||
|
|
||||||
upnp_setup()
|
if not disable_upnp.button_pressed:
|
||||||
|
upnp_setup()
|
||||||
|
|
||||||
func _on_client_button_pressed() -> void:
|
func _on_client_button_pressed() -> void:
|
||||||
|
var address = "localhost"
|
||||||
|
if not disable_upnp.button_pressed:
|
||||||
|
address = address_entry.text
|
||||||
menu.hide()
|
menu.hide()
|
||||||
peer.create_client(address_entry.text, port)
|
peer.create_client(address.text, port)
|
||||||
multiplayer.multiplayer_peer = peer
|
multiplayer.multiplayer_peer = peer
|
||||||
|
|
||||||
func add_player(peer_id):
|
func add_player(peer_id):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue