Доработка. События переключения режима Автомата (уровень автоматизации)

This commit is contained in:
sasha80
2024-04-23 11:17:25 +03:00
parent bb97ac50d1
commit c8bce3bef8
2 changed files with 33 additions and 2 deletions

View File

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

View File

@@ -1,8 +1,23 @@
class_name Signaller extends Node
## Обмен сигналами между узлами. Здесь объявлены сигналы, которые используют
## два и более узла, из разных файлов.
## два и более узла, из разных файлов. Должен быть помещён в автозагрузку.
## Вызывается, когда оператор переводит программу в режим "Автомат целей и помех"
signal full_auto()
## Вызывается, когда оператор переводит программу в режим "Автомат выбора целей"
signal threat_auto()
## Вызывается, когда оператор переводит программу в режим "Автомат выбора помехи"
signal interfer_auto()
## Вызывается, когда оператор переводит программу в режим "Ручной"
signal manual_control()
## Вызывается, когда оператор выбирает цель в таблице.