feat: pulling dragons from server working

This commit is contained in:
Gerard Gascón 2025-04-12 00:21:07 +02:00
parent 50bc814367
commit b080ab7bf4
11 changed files with 46 additions and 193 deletions

View file

@ -128,6 +128,9 @@ func _pick_dragon(properties: DragonProperties, drag: bool = true):
add_child(dragon)
_instantiated_dragons.erase(properties.id)
if not _library.has(properties):
_library.add_dragon(properties)
for spot in _filled_spots:
if _filled_spots[spot] == properties.id:
_filled_spots.erase(spot)
@ -148,10 +151,11 @@ func _dragon_place_back(dragon: Dragon):
func _on_close_pressed() -> void:
_save_load.clear_dragons()
for d in _library.dragons:
if _dragon_entities.has(d['id']) and _dragon_entities[d['id']] != null:
_save_load.add_dragon(d['id'], d['name'], d['hat'], d['shirt'], d['shoes'], _dragon_entities[d['id']].position)
if _dragon_entities.has(d.id) and _dragon_entities[d.id] != null:
_save_load.add_dragon(d)
else:
_save_load.add_dragon(d['id'], d['name'], d['hat'], d['shirt'], d['shoes'], Vector2i(0, 0))
d.position = Vector2i(0, 0)
_save_load.add_dragon(d)
_save_load.save()
await get_tree().process_frame
await get_tree().process_frame