Доработка. Режим "Контроль". Отображение состояния БПО.

This commit is contained in:
sasha80
2025-07-09 01:05:42 +03:00
parent 3b938f7613
commit 5d3bb34e52
10 changed files with 153 additions and 89 deletions

View File

@@ -35,6 +35,34 @@ func allways(val: bool, msg: String = '<не указано>'):
get_tree().quit(Error.FAILED)
## Преобразует путь в виде целой строки в массив отдельных элементов пути.[br]
## [param solid] - Входная строка содержащая путь, которая имеет следующий примерный вид:[br]
## [code]SelfTest[1].DevList[2]['CurrentValue'][/code][br]
## [param paths] - Массив содержащий отдельные элементы пути.[br]
## [param tokens] - Разделители используемые во входной строке для разделения элементов пути.[br]
func map_solid_to_array(solid: String, paths: Array, tokens: Array = ['[', ']', '.']) -> void:
paths.clear()
var i_chs = []
for sep in tokens:
var i = 0
while i != -1:
i = solid.find(sep, i + 1)
i_chs.append(i)
i_chs.pop_back()
i_chs.sort()
var i0 = 0
for i1 in i_chs:
var ss: = [String()]
get_string_slice(solid, ss, i0, i1)
if ss[0].is_valid_int():
paths.append(ss[0].to_int())
else:
if ss[0]:
paths.append(ss[0])
i0 = i1 + 1
func check_index(obj, index) -> bool:
if obj is Dictionary:
if obj.has(index):