Доработка. Более информативный результат в случае обнаружения ошибки

This commit is contained in:
sasha80
2024-11-28 09:12:24 +03:00
parent 5b0531a93f
commit 78cb718c97

View File

@@ -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):