added player connection
This commit is contained in:
7
project/scenes/player.gd
Normal file
7
project/scenes/player.gd
Normal file
@@ -0,0 +1,7 @@
|
||||
extends CharacterBody2D
|
||||
class_name Player
|
||||
|
||||
var session_id: String
|
||||
|
||||
func _enter_tree() -> void:
|
||||
$NameTag.text = session_id
|
||||
29
project/scenes/player.tscn
Normal file
29
project/scenes/player.tscn
Normal file
@@ -0,0 +1,29 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://co4dwle8qgvn4"]
|
||||
|
||||
[ext_resource type="Script" path="res://scenes/player.gd" id="1_0ulg3"]
|
||||
[ext_resource type="Texture2D" uid="uid://brayuh2pw38ix" path="res://icon.svg" id="1_5um25"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_gcdh3"]
|
||||
size = Vector2(128, 128)
|
||||
|
||||
[node name="Player" type="CharacterBody2D"]
|
||||
script = ExtResource("1_0ulg3")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
texture = ExtResource("1_5um25")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("RectangleShape2D_gcdh3")
|
||||
|
||||
[node name="NameTag" type="Label" parent="."]
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -20.0
|
||||
offset_top = -11.5
|
||||
offset_right = 20.0
|
||||
offset_bottom = 11.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
12
project/scenes/worFF19.tmp
Normal file
12
project/scenes/worFF19.tmp
Normal file
@@ -0,0 +1,12 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://br61u82ldlrxe"]
|
||||
|
||||
[ext_resource type="Script" path="res://scenes/world.gd" id="1_r7dh1"]
|
||||
|
||||
[node name="World" type="Node2D"]
|
||||
script = ExtResource("1_r7dh1")
|
||||
|
||||
[node name="Button" type="Button" parent="."]
|
||||
offset_right = 8.0
|
||||
offset_bottom = 8.0
|
||||
|
||||
[connection signal="pressed" from="Button" to="." method="_on_button_pressed"]
|
||||
29
project/scenes/world.gd
Normal file
29
project/scenes/world.gd
Normal file
@@ -0,0 +1,29 @@
|
||||
extends Node2D
|
||||
|
||||
|
||||
func _ready():
|
||||
UdpClient.player_join.connect(_on_player_join)
|
||||
UdpClient.player_disconnect.connect(_on_player_disconnect)
|
||||
|
||||
func _on_player_join(player_client: Dictionary, clients: Array) -> void:
|
||||
add_player(player_client)
|
||||
for client in clients:
|
||||
add_player(client)
|
||||
|
||||
|
||||
func add_player(client: Dictionary):
|
||||
var player: Player = preload("res://scenes/player.tscn").instantiate()
|
||||
player.session_id = client.session_id
|
||||
player.position = Vector2(client.position.x, client.position.y)
|
||||
add_child(player)
|
||||
|
||||
func _on_button_pressed():
|
||||
var payload: Dictionary = {
|
||||
"type": "init",
|
||||
}
|
||||
UdpClient.send_message("test")
|
||||
|
||||
func _on_player_disconnect(session_id: String):
|
||||
for child: Node in get_children():
|
||||
if child is Player && child.session_id == session_id:
|
||||
child.queue_free()
|
||||
12
project/scenes/world.tscn
Normal file
12
project/scenes/world.tscn
Normal file
@@ -0,0 +1,12 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://br61u82ldlrxe"]
|
||||
|
||||
[ext_resource type="Script" path="res://scenes/world.gd" id="1_r7dh1"]
|
||||
|
||||
[node name="World" type="Node2D"]
|
||||
script = ExtResource("1_r7dh1")
|
||||
|
||||
[node name="Button" type="Button" parent="."]
|
||||
offset_right = 8.0
|
||||
offset_bottom = 8.0
|
||||
|
||||
[connection signal="pressed" from="Button" to="." method="_on_button_pressed"]
|
||||
Reference in New Issue
Block a user