feat: dragon list view

This commit is contained in:
Gerard Gascón 2025-04-09 13:59:41 +02:00
parent 577926e8fc
commit 3919df1805
17 changed files with 409 additions and 4 deletions

View file

@ -6,12 +6,22 @@ class_name GameManager
@export var dragon_ingame: PackedScene
@export var dragon_spots: Array[Node2D]
@export var hat_outfits: DragonOutfit
@export var shirt_outfits: DragonOutfit
@export var shoes_outfits: DragonOutfit
var _instantiator: DragonInstantiator
var _save_load: SaveLoad
var _library: DragonLibrary
func _ready():
_library = DragonLibrary.new(hat_outfits, shirt_outfits, shoes_outfits)
_instantiator = DragonInstantiator.new(dragon_template, get_viewport(), get_window())
_save_load = SaveLoad.new()
_load_game()
await get_tree().process_frame
move_window_to_bottom_right()
@ -33,7 +43,13 @@ func move_window_to_bottom_right():
func add_dragon(hat: Texture2D, shirt: Texture2D, shoes: Texture2D, dragon_name: String):
# TODO: Check for free positon
_instantiate_dragon_ingame(dragon_spots[0].position, hat, shirt, shoes, dragon_name)
# TODO: Add to dragon library
_library.add_dragon(dragon_name, hat, shirt, shoes)
func _load_game():
_save_load.load()
_library.add_dragons(_save_load.get_dragons())
print(_save_load.contents_to_save)
func _instantiate_dragon_ingame(position: Vector2, hat: Texture2D, shirt: Texture2D, shoes: Texture2D, dragon_name: String):
@ -53,3 +69,16 @@ func _pick_dragon(position: Vector2, hat: Texture2D, shirt: Texture2D, shoes: Te
func _dragon_place_back(dragon: Dragon):
print(dragon)
func _on_close_pressed() -> void:
_save_load.clear_dragons()
for d in _library.dragons:
_save_load.add_dragon(d['name'], d['hat'], d['shirt'], d['shoes'])
_save_load.save()
await get_tree().process_frame
await get_tree().process_frame
await get_tree().process_frame
await get_tree().process_frame
await get_tree().process_frame
get_tree().quit()