Трасса. Нажатие/отжатие кнопок группы принудительно.
This commit is contained in:
@@ -308,6 +308,6 @@ text = "Масштаб:"
|
||||
[connection signal="drag_continue" from="." to="." method="_on_drag_continue"]
|
||||
[connection signal="toggled" from="btn_view" to="." method="on_button_view_toggled"]
|
||||
[connection signal="toggled" from="chk_auto" to="." method="on_value_changed"]
|
||||
[connection signal="toggled" from="btn_activate" to="." method="on_btn_activate"]
|
||||
[connection signal="toggled" from="btn_activate" to="." method="on_btn_activate_toggled"]
|
||||
[connection signal="toggled" from="btn_activate" to="." method="on_btn_activate"]
|
||||
[connection signal="toggled" from="btn_center" to="." method="on_btn_center_toggled"]
|
||||
|
||||
@@ -15,10 +15,13 @@ class Trassa extends unit.Unit:
|
||||
var ecms: Dictionary = {} # Словарь всех активных помех
|
||||
var srn = 0
|
||||
var jtids = 0
|
||||
var prinud_but: Array = []
|
||||
var forced_buttons: Array = [] # Храним ссылки на кнопки
|
||||
|
||||
# Инициализация
|
||||
func _init(nm: StringName) -> void:
|
||||
func _init(nm: StringName, buttons: Array = []) -> void:
|
||||
self.name = nm
|
||||
self.forced_buttons = buttons
|
||||
tx_stack.resize(WORDS_TOTAL)
|
||||
tx_stack.fill(NOINFO)
|
||||
interfer.connect("interfer_resized", Callable(self, "on_interfer_resized"))
|
||||
@@ -127,6 +130,14 @@ class Trassa extends unit.Unit:
|
||||
func btn_trassa_pressed() -> void:
|
||||
var state = ProjectSettings.get_setting('application/config/Внешнее указание Трасса', false)
|
||||
if state == true:
|
||||
var tree: SceneTree = Engine.get_main_loop()
|
||||
if tree is SceneTree:
|
||||
var nodes: Array = tree.get_nodes_in_group('группа-принудительно')
|
||||
for btn in nodes:
|
||||
if btn.name == 'btn_srn':
|
||||
btn.pressed = (srn == 1)
|
||||
elif btn.name == 'btn_jtids':
|
||||
btn.pressed = (jtids == 1)
|
||||
if srn == 1:
|
||||
tx_stack[65] = 1
|
||||
signaller.emit_signal('interfer_prinuditelno', frm_ecm_list.srn_sectors)
|
||||
@@ -147,3 +158,8 @@ class Trassa extends unit.Unit:
|
||||
ecm.krp = interfer.INTERFER_OFF
|
||||
interfer.send_ecm(ecm, unit_caps)
|
||||
signaller.emit_signal('interfer_off', ecm)
|
||||
for ecm in ecms.values():
|
||||
if ecm.krp == "svi1" and ecm.svk == 1:
|
||||
ecm.krp = interfer.INTERFER_OFF
|
||||
interfer.send_ecm(ecm, unit_caps)
|
||||
signaller.emit_signal('interfer_off', ecm)
|
||||
|
||||
Reference in New Issue
Block a user