diff --git a/scripts/tools.gd b/scripts/tools.gd index 571716d..1776f55 100644 --- a/scripts/tools.gd +++ b/scripts/tools.gd @@ -42,16 +42,19 @@ func _check_index(obj, index) -> bool: ## Возвращает значение поля хранящегося по указанному пути внутри объекта.[br] ## [param obj] - Объект в котором хранится поле, должен быть [b]Dictionary[/b].[br] -## [param paths] - Массив содержащий путь к полю значения, включая его имя.[br] +## [param paths] - Массив содержащий узлы пути к полю значения, включая его имя.[br] ## [param ret_val] - Массив из двух элементов, служит для получения возвращаемого значения:[br] ## [param ret_val[0]] - содержит значение искомого поля;[br] ## [param ret_val[1]] - устанвлено в [b]true[/b], если поле найдено, и установлено в [b]false[/b], -## если искомое поле не найдено. +## если искомое поле не найдено.[br] +## [param ret_val[2]] - содержит индекс массива узла пути, который был не найден (имеет смысл, если +## [param ret_val[1]] установлен в [b]false[/b] func get_value_by_path(obj, paths: Array, ret_val: Array): var index = paths.pop_at(0) ret_val[1] = false if paths.size(): if _check_index(obj, index): + ret_val[2] += 1 get_value_by_path(obj[index], paths, ret_val) else: if _check_index(obj, index):