copy from thegates-jam repo

This commit is contained in:
Nordup 2024-03-31 09:25:42 +04:00
parent c1a7ad74e1
commit 1a335de566
523 changed files with 22408 additions and 0 deletions

View file

@ -0,0 +1,39 @@
extends Node
class_name UserDataManager
@export var user_data_spawner: UserDataSpawner
@export var user_data_events: UserDataEvents
var my_user_data: UserData
var user_datas = {} # {Peer ID: UserData}
func _ready() -> void:
if Connection.is_server(): return
user_data_events.set_user_data_manager(self)
user_data_spawner.user_data_spawned.connect(user_data_spawned)
user_data_spawner.user_data_despawned.connect(user_data_despawned)
func user_data_spawned(id: int, user_data: UserData) -> void:
if id == multiplayer.get_unique_id():
user_data.is_my_data = true
my_user_data = user_data
else:
user_datas[id] = user_data
user_data_events.user_data_spawned_emit(id, user_data)
func user_data_despawned(id: int) -> void:
if id == multiplayer.get_unique_id():
my_user_data = null
else:
user_datas.erase(id)
user_data_events.user_data_despawned_emit(id)
func try_get_user_data(id: int) -> UserData:
return user_datas[id] if user_datas.has(id) else null