extends Node ## 实训名称 @export var trainingName: String = "实训" ## 场景描述 @export var trainingDesc: String = "场景描述" var currentStep = ["LCB2","LCB_Key2","confirmUseKey","LCB2RightRotate","removeKeyOfWindowLCB2"] var stepIndex = 0 func _ready(): $TrainingDescDialog.title = trainingName $TrainingDescDialog.updateSceneDesc(trainingDesc) stepIndex = 0 func _on_training_desc_dialog_start_training(): $total.trainComeAndOpenScreenDoor() $total.setAssignScreenDoorsCloseFault([TotalScene.ScreenDoor_name.screenDoor2]) $DepartTimer.wait_time = 15 $DepartTimer.one_shot = true $DepartTimer.connect("timeout", depart) $DepartTimer.start() func depart(): $total.closeScreenDoor() func load_mp3(path): var file = FileAccess.open(path, FileAccess.READ) var sound = AudioStreamMP3.new() sound.data = file.get_buffer(file.get_length()) return sound func _on_total_screen_door_close_confirm_signal(screenDoor): if screenDoor.name == "screenDoor1": var sound = load_mp3("res://Assets/training_speech/gmgz/2hmgmgz.mp3") await $VoiceCommunication.play_reply(sound) $total.currenNeedClickNode = currentStep[stepIndex] print() $TrainTip.setTrainingTip($total.allClickEquipmentInfo[currentStep[stepIndex]]) if screenDoor.name == "screenDoor2": var sound3 = load_mp3("res://Assets/training_speech/gmgz/mtdxm.mp3") await $VoiceCommunication.play_reply(sound3) $total.trainLeave() func _input(event): if event is InputEventKey: if event.pressed: if event.keycode == KEY_SPACE: # 检查是否按下了空格键 $VoiceCommunication.speech_record_check(event.keycode) func _on_total_current_click_check_signal(isCorrect): if isCorrect: stepIndex = stepIndex + 1 if stepIndex < currentStep.size(): $total.currenNeedClickNode = currentStep[stepIndex] $TrainTip.setTrainingTip($total.allClickEquipmentInfo[currentStep[stepIndex]]) else: $TrainTip.setTrainingTip('')