diff options
Diffstat (limited to 'scripts/load_shapes.gd')
-rw-r--r-- | scripts/load_shapes.gd | 44 |
1 files changed, 29 insertions, 15 deletions
diff --git a/scripts/load_shapes.gd b/scripts/load_shapes.gd index 308f111..32e9104 100644 --- a/scripts/load_shapes.gd +++ b/scripts/load_shapes.gd @@ -1,29 +1,43 @@ extends Node var saveload : Node + +var info : Dictionary var models : Dictionary +var thumbnails : Dictionary -var loaded = false +var loaded : bool = false signal done_loading -func get_saveload(): - if saveload == null: saveload = get_tree().root.get_node("world").get_node("saveload") - func _ready(): get_saveload() load_models() + load_info() emit_signal("done_loading") loaded = true +func get_saveload(): + if saveload == null: saveload = get_tree().root.get_node("world").get_node("saveload") + func load_models(): - models = {} - var dir = Directory.new() - dir.open("res://assets/models/shapes") - dir.list_dir_begin(true) - var shape = dir.get_next() - while shape != "": - if (shape.ends_with(".glb")): - var model = load("res://assets/models/shapes/" + shape) - var sname = shape.substr(0, shape.length()-4) - models[sname] = model - shape = dir.get_next() + models.clear() + var files = saveload.parse_dir("res://assets/models/shapes", ".glb") + for turr in files: + models[turr] = load("res://assets/models/shapes/" + turr) + +func load_thumbnails(): + thumbnails.clear() + var files = saveload.parse_dir("res://assets/textures/thumbnails/enemies", ".png") + for turr in files: + print(turr) + thumbnails[turr] = load("res://assets/textures/thumbnails/enemies/" + turr) + +func load_info(): + info.clear() + var files = saveload.parse_dir("res://assets/json", ".json") + for f in files: + if f != "enemies.json": continue + var parsed = saveload.load_parse_json("res://assets/json/" + f) + if parsed != null: + for tin in parsed: + info[tin.name] = tin |