Доработка мини баров

This commit is contained in:
TotMaxim
2025-11-23 21:28:45 +03:00
parent 5b1984a307
commit 5eb44fd20a

View File

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