mirror of
https://github.com/thegatesbrowser/godot-multiplayer.git
synced 2025-08-22 06:17:08 -04:00
28 lines
731 B
GDScript
28 lines
731 B
GDScript
extends VBoxContainer
|
|
|
|
@export var user_data_events: UserDataEvents
|
|
@export var player_panel: PackedScene
|
|
|
|
|
|
func _ready() -> void:
|
|
user_data_events.user_data_spawned.connect(user_data_spawned)
|
|
user_data_events.user_data_despawned.connect(user_data_despawned)
|
|
|
|
|
|
func user_data_spawned(id: int, user_data: UserData) -> void:
|
|
var p: PlayerPanel = player_panel.instantiate() as PlayerPanel
|
|
p.set_user_data(user_data)
|
|
p.name = str(id)
|
|
add_child(p)
|
|
|
|
if user_data.is_my_data: move_child(p, 0)
|
|
|
|
|
|
func user_data_despawned(id: int) -> void:
|
|
get_node(str(id)).queue_free()
|
|
|
|
|
|
func on_visibility_changed() -> void:
|
|
if not is_visible_in_tree() and not Connection.is_peer_connected:
|
|
for child in get_children():
|
|
child.queue_free()
|