diff --git a/scenes/работа/sld_mode.gd b/scenes/работа/sld_mode.gd new file mode 100644 index 0000000..70d2816 --- /dev/null +++ b/scenes/работа/sld_mode.gd @@ -0,0 +1,16 @@ +extends VSlider + +const VAL_TO_LABEL = { 0: 'label0', 1: 'label1', 2: 'label2', 3: 'label3' } +const VAL_TO_EVENT = { 0: 'manual_control', 1: 'interfer_auto', 2: 'threat_auto', 3: 'full_auto' } + +func _ready(): _on_value_changed(3) + + +func _on_value_changed(val): + val = int(val) + for nm in VAL_TO_LABEL.values(): + var lbl = get_node(nm) + lbl.self_modulate.a = 0.45 + var lbl = get_node(VAL_TO_LABEL[val]) + lbl.self_modulate.a = 1.0 + signaller.emit_signal(VAL_TO_EVENT[val]) diff --git a/scripts/signaller.gd b/scripts/signaller.gd index 93dace7..7571d9e 100644 --- a/scripts/signaller.gd +++ b/scripts/signaller.gd @@ -1,8 +1,23 @@ class_name Signaller extends Node - ## Обмен сигналами между узлами. Здесь объявлены сигналы, которые используют -## два и более узла, из разных файлов. +## два и более узла, из разных файлов. Должен быть помещён в автозагрузку. + + +## Вызывается, когда оператор переводит программу в режим "Автомат целей и помех" +signal full_auto() + + +## Вызывается, когда оператор переводит программу в режим "Автомат выбора целей" +signal threat_auto() + + +## Вызывается, когда оператор переводит программу в режим "Автомат выбора помехи" +signal interfer_auto() + + +## Вызывается, когда оператор переводит программу в режим "Ручной" +signal manual_control() ## Вызывается, когда оператор выбирает цель в таблице.