mirror of
https://gitlab.com/open-fpsz/open-fpsz.git
synced 2026-07-15 08:24:48 +00:00
Add multiplayer game mode over the network
This commit is contained in:
parent
ecc195e38e
commit
35af9ecc2d
13 changed files with 278 additions and 81 deletions
|
|
@ -1,8 +1,31 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://bjctlqvs33nqy"]
|
||||
[gd_scene load_steps=6 format=3 uid="uid://bjctlqvs33nqy"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://c1tjamjm8qjog" path="res://interfaces/menus/boot/background.webp" id="1_ph586"]
|
||||
[ext_resource type="PackedScene" uid="uid://1seg8cvss7a7" path="res://interfaces/menus/boot/multiplayer.tscn" id="2_lcb0h"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_jd8xf"]
|
||||
resource_name = "MainMenu"
|
||||
script/source = "extends CanvasLayer
|
||||
class_name MainMenu
|
||||
|
||||
signal start_demo
|
||||
signal start_server(peer)
|
||||
signal join_server(peer)
|
||||
|
||||
func _ready():
|
||||
$Multiplayer.start_server.connect(_on_start_server)
|
||||
$Multiplayer.join_server.connect(_on_join_server)
|
||||
|
||||
func _on_demo_pressed():
|
||||
start_demo.emit()
|
||||
|
||||
func _on_start_server(peer):
|
||||
start_server.emit(peer)
|
||||
|
||||
func _on_join_server(peer):
|
||||
join_server.emit(peer)
|
||||
"
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_snh7i"]
|
||||
bg_color = Color(0, 0.5, 0.5, 0.25)
|
||||
|
||||
|
|
@ -11,18 +34,6 @@ script/source = "extends PanelContainer
|
|||
|
||||
const PLAYER = preload(\"res://characters/player/player.tscn\")
|
||||
const MAP = preload(\"res://maps/genesis/genesis.tscn\")
|
||||
|
||||
func _on_demo_pressed():
|
||||
# instantiate scenes
|
||||
var player = PLAYER.instantiate()
|
||||
var map = MAP.instantiate()
|
||||
# set player initial position
|
||||
player.position = Vector3(0,150,0)
|
||||
# add as siblings in tree
|
||||
for o in [map, player]:
|
||||
owner.add_sibling(o)
|
||||
# queue main_menu node for deletion
|
||||
owner.queue_free()
|
||||
|
||||
func _on_multiplayer_pressed():
|
||||
hide()
|
||||
|
|
@ -33,6 +44,7 @@ func _on_quit_pressed():
|
|||
"
|
||||
|
||||
[node name="MainMenu" type="CanvasLayer"]
|
||||
script = SubResource("GDScript_jd8xf")
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="."]
|
||||
anchors_preset = 15
|
||||
|
|
@ -81,6 +93,6 @@ layout_mode = 2
|
|||
theme_override_font_sizes/font_size = 32
|
||||
text = "Quit"
|
||||
|
||||
[connection signal="pressed" from="Main/MarginContainer/VBoxContainer/Demo" to="Main" method="_on_demo_pressed"]
|
||||
[connection signal="pressed" from="Main/MarginContainer/VBoxContainer/Demo" to="." method="_on_demo_pressed"]
|
||||
[connection signal="pressed" from="Main/MarginContainer/VBoxContainer/Multiplayer" to="Main" method="_on_multiplayer_pressed"]
|
||||
[connection signal="pressed" from="Main/MarginContainer/VBoxContainer/Quit" to="Main" method="_on_quit_pressed"]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue