godot4-port
unfa 2020-06-14 21:24:13 +02:00
commit 932ea33b0c
2 changed files with 24 additions and 9 deletions

25
Game.gd
View File

@ -13,8 +13,6 @@ func _ready():
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
initialize()
debug_connection_status()
func debug_connection_status():
@ -39,6 +37,7 @@ func initialize_server():
var peer = NetworkedMultiplayerENet.new()
peer.create_server(SERVER_PORT, MAX_PLAYERS)
get_tree().connect("network_peer_connected", self, "on_peer_connected")
add_player(get_tree().get_network_unique_id())
return peer
func initialize_client():
@ -48,11 +47,29 @@ func initialize_client():
get_tree().connect("connection_failed", self, "on_connection_failed")
return peer
func on_peer_connected(id):
print("Peer connected with id ", id)
func get_players():
return $Players.get_children()
remote func check_players(players):
for player in players:
if not $Players.has_node(player.name):
$Players.add_child(player)
func add_player(id):
var player = player_scene.instance()
player.name = str(id)
add_child(player)
player.set_network_master(id)
player.translation += Vector3(0.0, 3.0, 0.0)
rpc("check_players", get_players())
func on_peer_connected(id):
print("Peer connected with id ", id)
add_player(id)
func on_connection_established():
print("Connection has been established")

View File

@ -1,6 +1,5 @@
[gd_scene load_steps=4 format=2]
[gd_scene load_steps=3 format=2]
[ext_resource path="res://Player.tscn" type="PackedScene" id=1]
[ext_resource path="res://Game.gd" type="Script" id=2]
[ext_resource path="res://Level.tscn" type="PackedScene" id=3]
@ -10,9 +9,6 @@ SERVER_IP = "172.28.166.24"
[node name="Level" parent="." instance=ExtResource( 3 )]
[node name="Player" parent="." instance=ExtResource( 1 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 12.7215, 13.0596, -0.85251 )
[node name="Debug" type="Label" parent="."]
margin_left = 8.91335
margin_top = 9.52806
@ -23,3 +19,5 @@ text = "Debug"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Players" type="Spatial" parent="."]