Доработка мини баров
This commit is contained in:
@@ -127,6 +127,7 @@ var cc: int = 0
|
||||
var cmd_array: Array
|
||||
|
||||
## Переменные для отслеживания прогресса
|
||||
var prog_back: float = 0.0
|
||||
var total_fs_to_check: int = 0
|
||||
var completed_fs_count: int = 0
|
||||
var current_fs_progress: float = 0.0
|
||||
@@ -450,7 +451,8 @@ func _handle_check_kasseta_state() -> void:
|
||||
else:
|
||||
_set_status('Перегрев УМ')
|
||||
state = STATE_MACHINE.IN_EMS_STOP
|
||||
elif flag_only_fs:
|
||||
else:
|
||||
flag_only_fs = true
|
||||
state = STATE_MACHINE.IN_EMS_STOP
|
||||
|
||||
|
||||
@@ -640,25 +642,19 @@ func progressbar_status() -> void:
|
||||
|
||||
# Базовый прогресс в зависимости от состояния
|
||||
match state:
|
||||
STATE_MACHINE.INIT:
|
||||
base_progress = PROGRESS_INIT
|
||||
STATE_MACHINE.FS_TURN_ON:
|
||||
base_progress = PROGRESS_FS_TURN_ON
|
||||
STATE_MACHINE.FS_WORK:
|
||||
base_progress = PROGRESS_FS_WORK
|
||||
STATE_MACHINE.CHEK_KASSETA_Y5:
|
||||
base_progress = PROGRESS_CHECK_KASSETA
|
||||
STATE_MACHINE.UG_SET_RAY_CTRL:
|
||||
base_progress = PROGRESS_WRITE_ISA
|
||||
STATE_MACHINE.READ_ISA:
|
||||
base_progress = PROGRESS_READ_ISA
|
||||
STATE_MACHINE.UG_SET_RAY:
|
||||
base_progress = PROGRESS_UG_SET_RAY
|
||||
STATE_MACHINE.UG_SET_RAY_0, STATE_MACHINE.UG_SET_RAY_1, STATE_MACHINE.UG_SET_RAY_2, \
|
||||
STATE_MACHINE.UG_SET_RAY_3, STATE_MACHINE.UG_SET_RAY_4, STATE_MACHINE.UG_SET_RAY_5:
|
||||
base_progress = PROGRESS_RAY_STATES
|
||||
STATE_MACHINE.IN_EMS_STOP, STATE_MACHINE.FS_TURN_OFF, STATE_MACHINE.STOP_CONTROL:
|
||||
base_progress = PROGRESS_COMPLETE
|
||||
STATE_MACHINE.INIT: base_progress = PROGRESS_INIT
|
||||
STATE_MACHINE.FS_TURN_ON: base_progress = PROGRESS_FS_TURN_ON
|
||||
STATE_MACHINE.FS_WORK: base_progress = PROGRESS_FS_WORK
|
||||
STATE_MACHINE.CHEK_KASSETA_Y5: base_progress = PROGRESS_CHECK_KASSETA
|
||||
STATE_MACHINE.UG_SET_RAY_0: base_progress = PROGRESS_RAY_STATES
|
||||
STATE_MACHINE.UG_SET_RAY_1: base_progress = PROGRESS_RAY_STATES + 5
|
||||
STATE_MACHINE.UG_SET_RAY_2: base_progress = PROGRESS_RAY_STATES + 10
|
||||
STATE_MACHINE.UG_SET_RAY_3: base_progress = PROGRESS_RAY_STATES + 15
|
||||
STATE_MACHINE.UG_SET_RAY_4: base_progress = PROGRESS_RAY_STATES + 20
|
||||
STATE_MACHINE.UG_SET_RAY_5: base_progress = PROGRESS_RAY_STATES + 25
|
||||
STATE_MACHINE.IN_EMS_STOP: base_progress = PROGRESS_COMPLETE
|
||||
STATE_MACHINE.FS_TURN_OFF: base_progress = PROGRESS_COMPLETE
|
||||
STATE_MACHINE.STOP_CONTROL: base_progress = PROGRESS_COMPLETE
|
||||
|
||||
# Плавное заполнение во время ожидания таймера
|
||||
if control_timer.time_left > 0 and state != STATE_MACHINE.STOP_CONTROL:
|
||||
@@ -678,11 +674,15 @@ func progressbar_status() -> void:
|
||||
if total_fs_to_check > 0:
|
||||
var progress_per_fs = (PROGRESS_COMPLETE - PROGRESS_INIT) / total_fs_to_check
|
||||
var fs_base_progress = completed_fs_count * progress_per_fs
|
||||
progress_value = fs_base_progress + (base_progress * progress_per_fs / PROGRESS_COMPLETE)
|
||||
prog_back = fs_base_progress + (base_progress * progress_per_fs / PROGRESS_COMPLETE)
|
||||
else:
|
||||
progress_value = base_progress
|
||||
prog_back = base_progress
|
||||
|
||||
progress_value = clamp(progress_value, 0.0, PROGRESS_COMPLETE)
|
||||
if control_timer.time_left > 0 and not control_timer.is_stopped():
|
||||
prog_back += (control_timer.wait_time - control_timer.time_left) + 10
|
||||
|
||||
prog_back = progress_value if progress_value > prog_back else prog_back
|
||||
progress_value = clamp(progress_value, prog_back, PROGRESS_COMPLETE)
|
||||
|
||||
|
||||
## Установка нового статуса с emit сигнала
|
||||
@@ -728,8 +728,6 @@ func on_stop_control() -> void:
|
||||
|
||||
if state == STATE_MACHINE.UG_SET_RAY:
|
||||
flag_no_trust_yau07 = true
|
||||
elif state == STATE_MACHINE.CHEK_KASSETA_Y5:
|
||||
flag_only_fs = true
|
||||
state = STATE_MACHINE.IN_EMS_STOP
|
||||
#endregion
|
||||
|
||||
@@ -780,6 +778,7 @@ func _determine_self_name() -> void:
|
||||
progress_value = 0
|
||||
completed_fs_count = 0
|
||||
current_fs_progress = 0.0
|
||||
prog_back = 0
|
||||
call_deferred('emit_signal', 'update_max_value_progress', 100)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user