extends Node const DEFAULT_SCREEN_SIZE = Vector2(640, 360) var map = null setget set_map var global_data := {} onready var DataManager = get_node("DataManager") onready var MapContainer = get_node("Ingame/Viewport/MapContainer") onready var Player = get_node("Ingame/Viewport/MapContainer/Player") onready var Camera = get_node("Ingame/Viewport/MapContainer/Camera") onready var Dialog = get_node("UI/Dialog") func set_map(value): if !value == null: if !map == null: map.queue_free() yield(map, "tree_exited") var instanced_map = _map_to_node(value) if instanced_map != null: MapContainer.add_child(instanced_map) map = instanced_map print("Map set!") else: if !map == null: map.queue_free() # Pass either a String, a PackedScene or a Node # directly to certainly get a Node func _map_to_node(node_information) -> Node: if node_information is String: return load(node_information).instance() elif node_information is PackedScene: return node_information.instance() elif node_information is Node: return node_information else: push_error("No supported format was passed for the map!") return null