extends Node var room_tile_dict = {} var path_grid = AStar3D.new() var room_door_array = [] #TODO: replace with global dict? var direction_array = [ Vector3i(0, 0, -1), Vector3i(1, 0, 0), Vector3i(0, 0, 1), Vector3i(-1, 0, 0), ] func _ready(): self.name = str("Room", self.get_instance_id()) init_path_grid() pass func save(): var save_data = { "test": "test", "scene_file_path": scene_file_path, "parent": get_parent().get_path(), "room_tile_dict": room_tile_dict, "room_door_array": room_door_array, "path_grid": path_grid } return save_data func init_path_grid(): for i in room_tile_dict.keys(): var id = path_grid.get_available_point_id() path_grid.add_point(id, i) for n in direction_array: if room_tile_dict.has(i + n): var closest = path_grid.get_closest_point(i + n) if (i + n) == Vector3i(path_grid.get_point_position(closest)): path_grid.connect_points(id, closest)