创建大客流实训(待完善)
This commit is contained in:
parent
aa584ddef6
commit
e3451a90b6
Binary file not shown.
@ -3,7 +3,7 @@
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://dif5iaw78818l"
|
||||
uid="uid://be7rd6jrcyie4"
|
||||
path="res://.godot/imported/people.glb-62bc0b5c85ed5a480c8eeb4d8043d67f.scn"
|
||||
|
||||
[deps]
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 100 KiB |
@ -1,36 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cxcfm31rnpsh4"
|
||||
path.s3tc="res://.godot/imported/people_DKL_SB_J.jpg-f39f041a529fd3cfc3493af8ca188db9.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
generator_parameters={}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Model/people/people_DKL_SB_J.jpg"
|
||||
dest_files=["res://.godot/imported/people_DKL_SB_J.jpg-f39f041a529fd3cfc3493af8ca188db9.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
@ -2,7 +2,7 @@
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cmwordcwuj802"
|
||||
uid="uid://bkavdbsiwsgan"
|
||||
path.s3tc="res://.godot/imported/people_n_bigys_1.jpg-bedd72229e926543012b08dd6ea5fffd.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
|
12
sceen/Area3D/TicketingLfetAreaDetection.gd
Normal file
12
sceen/Area3D/TicketingLfetAreaDetection.gd
Normal file
@ -0,0 +1,12 @@
|
||||
extends Area3D
|
||||
|
||||
var passPeopleCount = 0
|
||||
|
||||
func _ready():
|
||||
self.connect("area_entered",Callable(self,"_on_area_entered"))
|
||||
|
||||
func _on_area_entered(area: Area3D) -> void:
|
||||
var peopleWalkFollow = area.get_parent().get_parent()
|
||||
if peopleWalkFollow is PlayerPathFollow :
|
||||
passPeopleCount += 1
|
||||
self.disconnect("area_entered",Callable(self,"_on_area_entered"))
|
File diff suppressed because one or more lines are too long
@ -55,8 +55,8 @@ func _on_player_area_enter(area: Area3D) -> void:
|
||||
if player.currentExerciseType == player.Exercise_type.pathFollow and (area.is_in_group('needStopWalk') or area.is_in_group('player')):
|
||||
peopleStopWalk()
|
||||
|
||||
|
||||
var waitTimeWalkAgain = 0.2
|
||||
func _on_player_area_exit(area: Area3D) -> void:
|
||||
if player.currentExerciseType == player.Exercise_type.pathFollow and (area.is_in_group('needStopWalk') or area.is_in_group('player')) :
|
||||
await get_tree().create_timer(0.5).timeout
|
||||
await get_tree().create_timer(waitTimeWalkAgain).timeout
|
||||
peopleBeginWalk()
|
||||
|
@ -33,14 +33,23 @@ func hasScreenDoorOpen ()-> bool:
|
||||
return true
|
||||
return false
|
||||
|
||||
##屏蔽门开关门没声音
|
||||
func screenDoorOpenAndCloseNoMusic ()-> void:
|
||||
for child in screenDoorALL:
|
||||
child.playScreenDoorMusic = false
|
||||
|
||||
func _ready() -> void:
|
||||
var screenDoor_scene = preload("res://sceen/platform/screenDoor.tscn")
|
||||
|
||||
for i in range(1, 5):
|
||||
var lastScreenDoorPosX = -4.385
|
||||
for i in range(1, 6):
|
||||
var screenDoorInstance = screenDoor_scene.instantiate()
|
||||
add_child(screenDoorInstance)
|
||||
screenDoorALL.append(screenDoorInstance)
|
||||
screenDoorInstance.position.x=(i-1)*4.385
|
||||
if i % 4 ==1 and i != 1:
|
||||
screenDoorInstance.position.x=lastScreenDoorPosX+6.104
|
||||
else:
|
||||
screenDoorInstance.position.x=lastScreenDoorPosX+4.385
|
||||
lastScreenDoorPosX = screenDoorInstance.position.x
|
||||
screenDoorInstance.name = 'screenDoor{0}'.format([i])
|
||||
screenDoorInstance.connect("clickLcbSignalAndSent",Callable($LCB,"_on_screen_door_click_lcb_signal"))
|
||||
screenDoorInstance.connect("clicksScreenDoorSignal",Callable($ScreenDoorOperate,"_on_screen_door_click_signal"))
|
||||
|
@ -29,6 +29,7 @@ enum ScreenDoor_State{
|
||||
close,# 关到位
|
||||
}
|
||||
|
||||
var playScreenDoorMusic = true
|
||||
##屏蔽门的状态
|
||||
@onready var screenDoorState : ScreenDoor_State = ScreenDoor_State.close :
|
||||
set(value):
|
||||
@ -37,11 +38,13 @@ enum ScreenDoor_State{
|
||||
if screenDoorState == ScreenDoor_State.opening :
|
||||
left_animation_player.play("leftOpen")
|
||||
right_animation_player.play("rightOpen")
|
||||
$AudioStreamPlayer.play()
|
||||
if playScreenDoorMusic :
|
||||
$AudioStreamPlayer.play()
|
||||
elif screenDoorState == ScreenDoor_State.closeing :
|
||||
left_animation_player.play("leftClose")
|
||||
right_animation_player.play("rightClose")
|
||||
$AudioStreamPlayer.play()
|
||||
if playScreenDoorMusic :
|
||||
$AudioStreamPlayer.play()
|
||||
|
||||
##打开屏蔽门
|
||||
func openScreenDoor (isUseLCBKey=false)-> void:
|
||||
|
@ -11,7 +11,9 @@ signal AllClickShortcutToolModel2(equipmentName:String, equipmentInfo: Variant)
|
||||
func allTimerStopAndShowRedStripe() -> void:
|
||||
for child in [$picketlineModelAtB,$picketlineModelAtA,$picketlineModelAtGateB,$picketlineModelAtGateA]:
|
||||
child.get_node('Timer').stop()
|
||||
child.get_node('redStripe').visible = true
|
||||
var redStripe = child.get_node('redStripe')
|
||||
redStripe.position.y = 0
|
||||
redStripe.visible = true
|
||||
|
||||
var picketlineModelAtBCountTime = 0
|
||||
func _picketlineModelAtB_timer_timeout() -> void:
|
||||
|
@ -122,6 +122,7 @@ func playerGoToNextArea(peopleWalkFollow:PlayerPathFollow,nextArea: PlayerWalkAr
|
||||
await get_tree().create_timer(5).timeout
|
||||
playerGoToNextArea(peopleWalkFollow,PlayerWalkArea3D.entranceGateArea)
|
||||
PlayerWalkArea3D.entranceGateArea:
|
||||
peopleWalkFollow.waitTimeWalkAgain = 0.5
|
||||
walkByPathFollow(targetAreaInfo.entranceGateArea,peopleWalkFollow)
|
||||
await peopleWalkFollow.player.ArriveTargetPos
|
||||
await get_tree().create_timer(0.2).timeout
|
||||
@ -133,9 +134,9 @@ func playerGoToNextArea(peopleWalkFollow:PlayerPathFollow,nextArea: PlayerWalkAr
|
||||
PlayerWalkArea3D.gangwayDownArea:
|
||||
walkByPathFollow(targetAreaInfo.gangwayDownArea,peopleWalkFollow)
|
||||
await peopleWalkFollow.player.ArriveTargetPos
|
||||
playerGoToNextArea(peopleWalkFollow,PlayerWalkArea3D.screenDoorWaitArea)
|
||||
#PlayerWalkArea3D.screenDoorWaitArea:
|
||||
#goToScreenDoorAreaAndWaitTrain(peopleWalkFollow,0)
|
||||
#playerGoToNextArea(peopleWalkFollow,PlayerWalkArea3D.screenDoorWaitArea)
|
||||
PlayerWalkArea3D.screenDoorWaitArea:
|
||||
goToScreenDoorAreaAndWaitTrain(peopleWalkFollow,0)
|
||||
|
||||
const areaBackInfo = {
|
||||
'B':{
|
||||
@ -193,11 +194,12 @@ var screenDoorAreaInfo = [
|
||||
##进入指定屏蔽门区域并等待上车
|
||||
func goToScreenDoorAreaAndWaitTrain(peopleWalkFollow:PlayerPathFollow, screenDoorAreaInfoIndex:int) -> void:
|
||||
var screenDoorPos = $platform.get_node(screenDoorAreaInfo[screenDoorAreaInfoIndex].screenDoorName).get_node('dimiantishi').get_global_position()
|
||||
var addPoint = Vector3(screenDoorPos.x,screenDoorPos.y,screenDoorPos.z+2)
|
||||
screenDoorPos.z += 1.2
|
||||
var addPoint = Vector3(screenDoorPos.x,screenDoorPos.y,screenDoorPos.z+3.2)
|
||||
walkByPathFollow([addPoint,screenDoorPos],peopleWalkFollow)
|
||||
await self.screenDoorOpenConfirmSignal
|
||||
var trainPoint1 = Vector3(screenDoorPos.x,screenDoorPos.y,screenDoorPos.z-3)
|
||||
var trainPoint2 = Vector3(screenDoorPos.x+3,screenDoorPos.y,screenDoorPos.z-3)
|
||||
var trainPoint1 = Vector3(screenDoorPos.x,screenDoorPos.y,screenDoorPos.z-3.5)
|
||||
var trainPoint2 = Vector3(screenDoorPos.x+3,screenDoorPos.y,screenDoorPos.z-3.5)
|
||||
walkByPathFollow([trainPoint1,trainPoint2],peopleWalkFollow)
|
||||
await self.screenDoorCloseConfirmSignal
|
||||
peopleWalkFollow.queue_free()
|
||||
@ -205,14 +207,15 @@ func goToScreenDoorAreaAndWaitTrain(peopleWalkFollow:PlayerPathFollow, screenDoo
|
||||
|
||||
const ArrayUtils = preload("res://util/ArrayUtils.gd")
|
||||
func _on_screen_door_wait_area_screen_door_area_enter(curentArea: Area3D, peopleWalkFollow: PlayerPathFollow) -> void:
|
||||
var waitPeopleCounts = [$AllScreenDoorWaitArea/ScreenDoorWaitArea1.waitPeopleCount,$AllScreenDoorWaitArea/ScreenDoorWaitArea2.waitPeopleCount,$AllScreenDoorWaitArea/ScreenDoorWaitArea3.waitPeopleCount]
|
||||
var waitPeopleCounts = [$AllScreenDoorWaitArea/ScreenDoorWaitArea1.waitPeopleCount,$AllScreenDoorWaitArea/ScreenDoorWaitArea2.waitPeopleCount,$AllScreenDoorWaitArea/ScreenDoorWaitArea3.waitPeopleCount,$AllScreenDoorWaitArea/ScreenDoorWaitArea4.waitPeopleCount]
|
||||
for index in range(screenDoorAreaInfo.size()):
|
||||
if screenDoorAreaInfo[index].areaName == curentArea.name and curentArea.waitPeopleCount-1 <= ArrayUtils.removeElementByIndex(waitPeopleCounts,index).min() :
|
||||
peopleWalkFollow.peopleStopWalk()
|
||||
goToScreenDoorAreaAndWaitTrain(peopleWalkFollow,index)
|
||||
|
||||
var trainLeaveAtDownPlatform = true
|
||||
func _on_screen_door_wait_area_1_area_entered(area: Area3D) -> void:
|
||||
if $AllScreenDoorWaitArea/ScreenDoorWaitArea1.waitPeopleCount>=4 :
|
||||
if $AllScreenDoorWaitArea/ScreenDoorWaitArea1.waitPeopleCount>=4 and trainLeaveAtDownPlatform:
|
||||
trainComeAndLeace()
|
||||
|
||||
##通过PathFollow运动
|
||||
@ -236,27 +239,35 @@ func startGeneratePeople() -> void:
|
||||
##A入口生成
|
||||
var totalOfAEntrance=0
|
||||
func generatePeopleAtAEntrance() -> void:
|
||||
if $AllAreaDetection/StationHallAExitAreaDetection.passPeopleCount< 1 and currentActiveCameraOfLarge != Camera_name.APassage:
|
||||
generatePeopleAtStationHallAExit()
|
||||
if totalOfAEntrance< 15:
|
||||
totalOfAEntrance += 1
|
||||
#$AllTimer/generatePeopleAEntranceTimer.wait_time = 10000
|
||||
var peoplePosition = Vector3(-80,9.8,40.5)
|
||||
generatePeopleAtDesignatedArea(peoplePosition,PlayerWalkArea3D.entrance,'A',totalOfAEntrance)
|
||||
else :
|
||||
$AllTimer/generatePeopleAEntranceTimer.stop()
|
||||
if $AllAreaDetection/APassageAreaDetection.passPeopleCount< 0 and currentActiveCameraOfLarge != Camera_name.APassage:
|
||||
generatePeopleAPassage()
|
||||
if $AllAreaDetection/TicketingLfetAreaDetection.passPeopleCount< 0 and currentActiveCameraOfLarge != Camera_name.BTVM:
|
||||
generatePeopleAtBTVM()
|
||||
totalOfAEntrance += 1
|
||||
if totalOfAEntrance > 15:
|
||||
$AllTimer/generatePeopleAEntranceTimer.wait_time = 10
|
||||
var peoplePosition = Vector3(-80,9.8,40.5)
|
||||
generatePeopleAtDesignatedArea(peoplePosition,PlayerWalkArea3D.entrance,'A',totalOfAEntrance)
|
||||
|
||||
##A出口生成
|
||||
var totalOfStationHallAExit=0
|
||||
func generatePeopleAtStationHallAExit() -> void:
|
||||
totalOfStationHallAExit += 1
|
||||
|
||||
##A通道生成
|
||||
var totalOfAPassage=0
|
||||
func generatePeopleAPassage() -> void:
|
||||
totalOfAPassage += 1
|
||||
var peoplePosition = Vector3(3,5.22,41)
|
||||
generatePeopleAtDesignatedArea(peoplePosition,PlayerWalkArea3D.stationHallExit,'A')
|
||||
|
||||
##A闸机生成
|
||||
var totalOfBTVM=0
|
||||
func generatePeopleAtBTVM() -> void:
|
||||
totalOfBTVM += 1
|
||||
var peoplePosition = Vector3(-11.27,5.22,18.74)
|
||||
generatePeopleAtDesignatedArea(peoplePosition,PlayerWalkArea3D.entranceGateArea,'A')
|
||||
|
||||
##售票厅循环排队
|
||||
var totalOfBTicketingArea=0
|
||||
var totalOfBTicketingArea = 8
|
||||
func generatePeopleAtBTicketingArea() -> void:
|
||||
if $AllAreaDetection/TicketingAreaDetection.waitPeopleCount <7:
|
||||
if $AllAreaDetection/TicketingAreaDetection.waitPeopleCount < totalOfBTicketingArea:
|
||||
var peoplrInstance = people_scene.instantiate()
|
||||
add_child(peoplrInstance)
|
||||
peoplrInstance.global_position = Vector3(1,5.22,15.84)
|
||||
@ -268,6 +279,19 @@ func generatePeopleAtBTicketingArea() -> void:
|
||||
await peoplrInstance.player.ArriveTargetPos
|
||||
peoplrInstance.queue_free()
|
||||
|
||||
##下行站台生成
|
||||
func letPeopleWaitTrainAtDownPlatform() -> void:
|
||||
$AllTimer/generatePeopleDownPlatformTimer.start()
|
||||
|
||||
var totalOfDownPlatform = 16
|
||||
func generatePeopleAtDownPlatform() -> void:
|
||||
if totalOfDownPlatform > 0:
|
||||
totalOfDownPlatform -= 1
|
||||
var peoplePosition = Vector3(13.54,0.85,11.2)
|
||||
generatePeopleAtDesignatedArea(peoplePosition,PlayerWalkArea3D.screenDoorWaitArea,'A')
|
||||
else :
|
||||
$AllTimer/generatePeopleDownPlatformTimer.stop()
|
||||
|
||||
##B入口生成(从进到出3分钟,间隔10秒,18个人完成循环)
|
||||
var totalOfBEntrance=18
|
||||
func generatePeopleAtBEntrance() -> void:
|
||||
@ -298,17 +322,6 @@ func generatePeopleAtDEntrance() -> void:
|
||||
else :
|
||||
$AllTimer/generatePeopleDEntranceTimer.stop()
|
||||
|
||||
|
||||
##下行站台生成
|
||||
var totalOfDownPlatform=0
|
||||
func generatePeopleAtDownPlatform() -> void:
|
||||
if totalOfDownPlatform< 9:
|
||||
totalOfDownPlatform += 1
|
||||
var peoplePosition = Vector3(13.54,0.85,11.2)
|
||||
generatePeopleAtDesignatedArea(peoplePosition,PlayerWalkArea3D.screenDoorWaitArea,'A')
|
||||
else :
|
||||
$AllTimer/generatePeopleDownPlatformTimer.stop()
|
||||
|
||||
##在指定区域增加人
|
||||
func generatePeopleAtDesignatedArea(peoplePosition:Vector3, goToNextArea: PlayerWalkArea3D,generateArea:String, peopleId:int=0) -> void:
|
||||
var peoplrInstance = people_scene.instantiate()
|
||||
@ -323,10 +336,12 @@ func generatePeopleAtDesignatedArea(peoplePosition:Vector3, goToNextArea: Player
|
||||
|
||||
signal trainComingSignal()
|
||||
func trainComeAndLeace() -> void:
|
||||
trainLeaveAtDownPlatform = false
|
||||
trainComingSignal.emit()
|
||||
self.trainComeAndOpenScreenDoor()
|
||||
await get_tree().create_timer(25).timeout
|
||||
self.closeScreenDoorAndTrainLeave()
|
||||
trainLeaveAtDownPlatform = true
|
||||
|
||||
func temporaryTicketOfficeComing() -> void:
|
||||
$platform.get_node('TemporaryTicketOffice').temporaryTicketOfficeComing()
|
||||
@ -336,3 +351,4 @@ func allTimerStopAndShowRedStripe() -> void:
|
||||
|
||||
func _ready():
|
||||
$platform.showCameraAndShortcutTool()
|
||||
$platform.screenDoorOpenAndCloseNoMusic()
|
||||
|
@ -1,12 +1,13 @@
|
||||
[gd_scene load_steps=18 format=3 uid="uid://dmlksr5k23wwk"]
|
||||
[gd_scene load_steps=19 format=3 uid="uid://dmlksr5k23wwk"]
|
||||
|
||||
[ext_resource type="Script" path="res://sceen/totalOfLargePassengerFlow.gd" id="1_5iiv2"]
|
||||
[ext_resource type="PackedScene" uid="uid://cmnsn2joxo68l" path="res://sceen/platform/platform.tscn" id="1_rjva4"]
|
||||
[ext_resource type="PackedScene" uid="uid://c8ryhiaac4s0n" path="res://Model/trainingLargePassengerFlow/platformOfLarge.blend" id="2_2i2vl"]
|
||||
[ext_resource type="AudioStream" uid="uid://dgqmfnjgrea07" path="res://Assets/training_speech/trainComing.mp3" id="4_6ctdm"]
|
||||
[ext_resource type="PackedScene" uid="uid://bylj0hfttmmqf" path="res://sceen/Area3D/ScreenDoorWaitArea.tscn" id="6_1spme"]
|
||||
[ext_resource type="Script" path="res://sceen/Area3D/APassageAreaDetection.gd" id="7_sgvbf"]
|
||||
[ext_resource type="Script" path="res://sceen/Area3D/TicketingAreaDetection.gd" id="8_3kqgp"]
|
||||
[ext_resource type="Script" path="res://sceen/Area3D/StationHallAExitAreaDetection.gd" id="8_tfyg3"]
|
||||
[ext_resource type="Script" path="res://sceen/Area3D/TicketingLfetAreaDetection.gd" id="8_52vqq"]
|
||||
[ext_resource type="PackedScene" uid="uid://ce8bos77837mf" path="res://sceen/people/peopleWalkFollow.tscn" id="9_po51r"]
|
||||
[ext_resource type="PackedScene" uid="uid://nx6xnwcuq8cf" path="res://sceen/train/train.tscn" id="14_g0uwl"]
|
||||
|
||||
@ -141,7 +142,6 @@ one_shot = true
|
||||
|
||||
[node name="generatePeopleAEntranceTimer" type="Timer" parent="AllTimer"]
|
||||
wait_time = 2.0
|
||||
autostart = true
|
||||
|
||||
[node name="generatePeopleBEntranceTimer" type="Timer" parent="AllTimer"]
|
||||
wait_time = 10.0
|
||||
@ -155,13 +155,13 @@ autostart = true
|
||||
wait_time = 2.0
|
||||
autostart = true
|
||||
|
||||
[node name="generatePeopleDownPlatformTimer" type="Timer" parent="AllTimer"]
|
||||
wait_time = 2.0
|
||||
|
||||
[node name="generatePeopleAtBTicketingArea" type="Timer" parent="AllTimer"]
|
||||
wait_time = 2.0
|
||||
autostart = true
|
||||
|
||||
[node name="generatePeopleDownPlatformTimer" type="Timer" parent="AllTimer"]
|
||||
wait_time = 2.0
|
||||
|
||||
[node name="AllCamera" type="Node3D" parent="."]
|
||||
|
||||
[node name="SparePartsCabinet" type="Camera3D" parent="AllCamera"]
|
||||
@ -181,7 +181,8 @@ transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -0.447
|
||||
fov = 106.5
|
||||
|
||||
[node name="DownPlatform" type="Camera3D" parent="AllCamera"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.85725, 1.46787, 9.4)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.255, 1.673, 13.34)
|
||||
fov = 62.5
|
||||
|
||||
[node name="StationHallAExit" type="Camera3D" parent="AllCamera"]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 2.388, 7, 17.682)
|
||||
@ -272,13 +273,23 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.15874, 1.1, 6.5)
|
||||
[node name="ScreenDoorWaitArea3" parent="AllScreenDoorWaitArea" instance=ExtResource("6_1spme")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.005, 1.1, 6.5)
|
||||
|
||||
[node name="ScreenDoorWaitArea4" parent="AllScreenDoorWaitArea" instance=ExtResource("6_1spme")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.4929, 1.1, 6.5)
|
||||
|
||||
[node name="AllAreaDetection" type="Node3D" parent="."]
|
||||
|
||||
[node name="StationHallAExitAreaDetection" type="Area3D" parent="AllAreaDetection"]
|
||||
[node name="APassageAreaDetection" type="Area3D" parent="AllAreaDetection"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 5.3, 41)
|
||||
script = ExtResource("8_tfyg3")
|
||||
script = ExtResource("7_sgvbf")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="AllAreaDetection/StationHallAExitAreaDetection"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="AllAreaDetection/APassageAreaDetection"]
|
||||
shape = SubResource("BoxShape3D_h5lh5")
|
||||
|
||||
[node name="TicketingLfetAreaDetection" type="Area3D" parent="AllAreaDetection"]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -7.98678, 5.342, 18.7594)
|
||||
script = ExtResource("8_52vqq")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="AllAreaDetection/TicketingLfetAreaDetection"]
|
||||
shape = SubResource("BoxShape3D_h5lh5")
|
||||
|
||||
[node name="TicketingAreaDetection" type="Area3D" parent="AllAreaDetection"]
|
||||
@ -290,7 +301,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.102997)
|
||||
shape = SubResource("BoxShape3D_kqt6b")
|
||||
|
||||
[node name="peopleWalkFollow" parent="." instance=ExtResource("9_po51r")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -54.8, 12, -61)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.132, 12, 15.84)
|
||||
|
||||
[connection signal="allClickPlatformSignal" from="platform" to="." method="_on_platform_all_click_platform_signal"]
|
||||
[connection signal="allScreenDoorLcbStateSignal" from="platform" to="." method="emitScreenDoorLcbStateChangeSignal"]
|
||||
@ -304,11 +315,12 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -54.8, 12, -61)
|
||||
[connection signal="timeout" from="AllTimer/generatePeopleBEntranceTimer" to="." method="generatePeopleAtBEntrance"]
|
||||
[connection signal="timeout" from="AllTimer/generatePeopleCEntranceTimer" to="." method="generatePeopleAtCEntrance"]
|
||||
[connection signal="timeout" from="AllTimer/generatePeopleDEntranceTimer" to="." method="generatePeopleAtDEntrance"]
|
||||
[connection signal="timeout" from="AllTimer/generatePeopleDownPlatformTimer" to="." method="generatePeopleAtDownPlatform"]
|
||||
[connection signal="timeout" from="AllTimer/generatePeopleAtBTicketingArea" to="." method="generatePeopleAtBTicketingArea"]
|
||||
[connection signal="timeout" from="AllTimer/generatePeopleDownPlatformTimer" to="." method="generatePeopleAtDownPlatform"]
|
||||
[connection signal="ScreenDoorAreaEnter" from="AllScreenDoorWaitArea/ScreenDoorWaitArea1" to="." method="_on_screen_door_wait_area_screen_door_area_enter"]
|
||||
[connection signal="area_entered" from="AllScreenDoorWaitArea/ScreenDoorWaitArea1" to="." method="_on_screen_door_wait_area_1_area_entered"]
|
||||
[connection signal="ScreenDoorAreaEnter" from="AllScreenDoorWaitArea/ScreenDoorWaitArea2" to="." method="_on_screen_door_wait_area_screen_door_area_enter"]
|
||||
[connection signal="ScreenDoorAreaEnter" from="AllScreenDoorWaitArea/ScreenDoorWaitArea3" to="." method="_on_screen_door_wait_area_screen_door_area_enter"]
|
||||
[connection signal="ScreenDoorAreaEnter" from="AllScreenDoorWaitArea/ScreenDoorWaitArea4" to="." method="_on_screen_door_wait_area_screen_door_area_enter"]
|
||||
[connection signal="area_entered" from="AllAreaDetection/TicketingAreaDetection" to="AllAreaDetection/TicketingAreaDetection" method="_on_area_entered"]
|
||||
[connection signal="area_exited" from="AllAreaDetection/TicketingAreaDetection" to="AllAreaDetection/TicketingAreaDetection" method="_on_area_exited"]
|
||||
|
@ -0,0 +1,836 @@
|
||||
extends Node3D
|
||||
|
||||
|
||||
## 实训名称
|
||||
@export var trainingName: String = "实训"
|
||||
## 场景描述
|
||||
@export var trainingDesc: String = "场景描述"
|
||||
|
||||
var stepOperation = []
|
||||
|
||||
var handleStep = [
|
||||
{
|
||||
"stepName": "站厅站务员汇报车站客流情况 步骤一:站厅站务员巡站发现站厅A出口有大量乘客涌入车站。",
|
||||
"stepOperation": ['APassageway','APassage','StationHallAExit','Back','BPassageway','BPassage','StationHallBExit','Back','CPassageway','CPassage','StationHallCExit','Back','DPassageway','DPassage','StationHallDExit','Back','APassageway','StationHallAExit'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "站厅站务员汇报车站客流情况 步骤二:站厅站务员立即询问乘客,了解情况:乘客您好,当前进站人员集中,请问附近有什么活动吗?",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "乘客您好,当前进站人员集中,请问附近有什么活动吗?"
|
||||
},
|
||||
{
|
||||
"stepName": "乘客(机器人)自动回复:附近体育馆举办赛事活动,刚结束。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": true,
|
||||
"playPath": "res://Assets/training_speech/trainingLargePassengerFlow/fjtygjbsghdgjs.mp3",
|
||||
"stepTip": false,
|
||||
"checkVoice": "",
|
||||
},
|
||||
{
|
||||
"stepName": "站厅站务员汇报车站客流情况 步骤三:站厅站务员对讲机汇报行车值班员,值班站长:值班员,值班站长,因附近体育馆举办赛事活动,大量乘客集中到达车站A出入口。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "值班员,值班站长,因附近体育馆举办赛事活动,大量乘客集中到达车站A出入口。"
|
||||
},
|
||||
{
|
||||
"stepName": "值班站长(机器人):收到,做好乘客进站引导工作。值班员:收到",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"checkVoice": "",
|
||||
"play": true,
|
||||
"playPath": "res://Assets/training_speech/trainingLargePassengerFlow/sdzhckjzydgz.mp3",
|
||||
"stepTip": false,
|
||||
},
|
||||
{
|
||||
"stepName": "站厅站务员汇报车站客流情况 步骤四:站务员到车控室拿取手提广播、电扶梯钥匙、铁马、围挡、隔离带。",
|
||||
"stepOperation": ['Back','VehicleControlRoom','handheldRadioModel','escalatorKeyModel','PartsArea','hoardingModel','metalBarrierModel','noticeSignsModel','picketlineModel'],
|
||||
"doAfterFinisnStepOperation":waitTimeNextAfterFinishStepOperation,
|
||||
"next": false,
|
||||
"waitTime": 1.5,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "值班员操作ISCS进行广播:各位乘客请注意,本站客流较大,请大家听从工作人员的指引有序进站,并看护好随行的老人和孩子,谢谢合作。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": true,
|
||||
"playPath": "res://Assets/training_speech/trainingLargePassengerFlow/gwckqzyklldyxjzxxhz.mp3",
|
||||
"stepTip": false,
|
||||
"checkVoice": "",
|
||||
},
|
||||
{
|
||||
"stepName": "组织乘客进站\n步骤一:站厅站务员在站厅A出口处(切换视口到站厅A出口处),并使用手提广播",
|
||||
"stepOperation": ['Back','APassageway','StationHallAExit','handheldRadio'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "组织乘客进站\n步骤一:站厅站务员在站厅A出口处通过手提广播组织乘客进站:各位乘客请注意,本站客流较大,请排队购票或提前打开乘车二维码有序进站。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "各位乘客请注意,本站客流较大,请排队购票或提前打开乘车二维码有序进站。"
|
||||
},
|
||||
{
|
||||
"stepName": "组织乘客进站\n步骤二:站厅站务员在站厅A出口侧的进站闸机处(切换视口到站厅A出口侧的进站闸机处),并使用手提广播。",
|
||||
"stepOperation": ['Back','StationHallB','BInboundGate','handheldRadio'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "组织乘客进站\n步骤二:站厅站务员在站厅A出口侧的进站闸机处引导乘客进站:请抓紧扫码进站或刷卡进站。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "请抓紧扫码进站或刷卡进站。"
|
||||
},
|
||||
{
|
||||
"stepName": "组织乘客进站\n步骤三:站厅站务员发现B端每台TVM前排队乘客超过规定人数,场面拥挤,(切换视口到B端TVM)。",
|
||||
"stepOperation": ['BUpperStep','BLowerStep','BGangway','BTVM'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "组织乘客进站\n步骤四:站厅站务员使用手提广播。",
|
||||
"stepOperation": ['handheldRadio'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "组织乘客进站\n步骤四:站厅站务员人工广播引导乘客去A端买票:各位乘客请注意,本站站厅另一端乘客较少,为了节省您的购票时间,请到站厅另一端购票。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "各位乘客请注意,本站站厅另一端乘客较少,为了节省您的购票时间,请到站厅另一端购票。"
|
||||
},
|
||||
{
|
||||
"stepName": "组织乘客进站\n步骤五:站厅站务员对讲机联控值班站长:值班站长,B端TVM前排队乘客超过规定人数,场面拥挤。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "值班站长,B端TVM前排队乘客超过规定人数,场面拥挤。"
|
||||
},
|
||||
{
|
||||
"stepName": "值班站长(机器人)自动回复:收到,已安排保安将临时售票亭推至B端TVM处。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": true,
|
||||
"playPath": "res://Assets/training_speech/trainingLargePassengerFlow/sdyanbajlsspttztvm.mp3",
|
||||
"doAfterFinisnPlay": temporaryTicketOfficeComing,
|
||||
"stepTip": false,
|
||||
"checkVoice": "",
|
||||
},
|
||||
{
|
||||
"stepName": "组织乘客进站\n步骤六:站厅站务员在B端TVM使用手提广播。",
|
||||
"stepOperation": ['handheldRadio'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "组织乘客进站\n步骤六:站厅站务员在B端TVM使用手提广播引导乘客:请需要购买单程票的乘客到自动售票机或临时售票亭排队购票。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "请需要购买单程票的乘客到自动售票机或临时售票亭排队购票。",
|
||||
"doAfterFinisnCheckVoice": letPeopleWaitTrainAtDownPlatform,
|
||||
},
|
||||
{
|
||||
"stepName": "组织乘客进站\n步骤七:站台巡视,切换视口到下行站台,使用手提广播。",
|
||||
"stepOperation": ['StaionHallBack','DownPlatform','handheldRadio'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "组织乘客进站\n步骤七:站台站务员不断加强站台巡视,使用手提广播向候车乘客进行安全宣传:乘客您好,为了您的安全,请在黄色安全线内候车,谢谢合作。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "乘客您好,为了您的安全,请在黄色安全线内候车,谢谢合作。",
|
||||
"notNestStepAfterFinisnCheckVoice": true,
|
||||
},
|
||||
{
|
||||
"stepName": "组织乘客进站\n步骤八:列车进站,乘客上车时,使用手提广播。",
|
||||
"stepOperation": ['handheldRadio'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "组织乘客进站\n步骤八:列车进站,乘客上车时,站台站务员使用手提广播向乘客宣传:上车时,请小心站台与列车之间的缝隙,在车门即将关闭时,请不要强行上车,以防车门夹伤。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "上车时,请小心站台与列车之间的缝隙,在车门即将关闭时,请不要强行上车,以防车门夹伤。",
|
||||
"notNestStepAfterFinisnCheckVoice": true,
|
||||
"doAfterFinisnCheckVoice": showFaultTipDialogAfterPlatformCrowd,
|
||||
},
|
||||
{
|
||||
"stepName": "启动一级客流控制\n步骤一:站台站务员发现站台乘客拥挤,对讲机报告值班员:值班员,站台候车乘客较多,出现拥挤情况。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "值班员,站台候车乘客较多,出现拥挤情况。"
|
||||
},
|
||||
{
|
||||
"stepName": "值班员对讲机回复:收到,做好站台乘客服务工作。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": true,
|
||||
"playPath": "res://Assets/training_speech/trainingLargePassengerFlow/sdzhztckfwgz.mp3",
|
||||
"stepTip": false,
|
||||
"checkVoice": "",
|
||||
},
|
||||
{
|
||||
"stepName": "值班站长(机器人)对讲机联系站台站务员:车站启动一级客流控制,将站厅B端扶梯改为上行。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": true,
|
||||
"playPath": "res://Assets/training_speech/trainingLargePassengerFlow/czqdyjklkzftgwsx.mp3",
|
||||
"stepTip": false,
|
||||
"checkVoice": "",
|
||||
},
|
||||
{
|
||||
"stepName": "启动一级客流控制\n步骤二:站台站务员对讲机回复:车站启动一级客流控制,将站厅B端扶梯改为上行,收到。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "车站启动一级客流控制,将站厅B端扶梯改为上行,收到。"
|
||||
},
|
||||
{
|
||||
"stepName": "启动一级客流控制\n步骤三:站台站务员在站厅B端扶梯上部设置围挡(切换视口到站厅B端)。",
|
||||
"stepOperation": ['StationHallB','BUpperStep','hoarding'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "启动一级客流控制\n步骤四:站台站务员引导前往站台的乘客走楼梯:请走步梯前往站台。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "请走步梯前往站台。"
|
||||
},
|
||||
{
|
||||
"stepName": "启动一级客流控制\n步骤五:待扶梯无乘客时,使用扶梯钥匙将扶梯方向改为上行。",
|
||||
"stepOperation": ['BLowerStep','escalatorKey'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "启动一级客流控制\n步骤六:待扶梯正常运行后,撤出围挡。",
|
||||
"stepOperation": ['BUpperStep','hoardingAtEscalatorUp'],
|
||||
"doAfterFinisnStepOperation":waitTimeNextAfterFinishStepOperation,
|
||||
"next": false,
|
||||
"waitTime": 3,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "值班站长(机器人)对讲机联系站厅站务员:在站厅付费区各楼梯处设置警戒线,分批放行乘客前往站台,临时售票亭停止售票。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": true,
|
||||
"playPath": "res://Assets/training_speech/trainingLargePassengerFlow/zztffqszjjxlsspttzsp.mp3",
|
||||
"stepTip": false,
|
||||
"checkVoice": "",
|
||||
},
|
||||
{
|
||||
"stepName": "启动一级客流控制\n步骤七:站厅站务员对讲机回复:在站厅付费区各楼梯处设置警戒线,分批放行乘客前往站台,临时售票亭停止售票,收到。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "在站厅付费区各楼梯处设置警戒线,分批放行乘客前往站台,临时售票亭停止售票,收到。"
|
||||
},
|
||||
{
|
||||
"stepName": "启动一级客流控制\n步骤八:站厅站务员在各楼梯处设置警戒线。(B端)",
|
||||
"stepOperation": ['BGangway','picketline'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "启动一级客流控制\n步骤八:站厅站务员通知乘客:现在站台客流较多,分批前往站台,请耐心等候。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "现在站台客流较多,分批前往站台,请耐心等候。"
|
||||
},
|
||||
{
|
||||
"stepName": "启动一级客流控制\n步骤九:站厅站务员在各楼梯处设置警戒线。(A端)",
|
||||
"stepOperation": ['StaionHallBack','StaionHallA','AGangway','picketline'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "启动一级客流控制\n步骤九:站厅站务员通知乘客:现在站台客流较多,分批前往站台,请耐心等候。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "现在站台客流较多,分批前往站台,请耐心等候。"
|
||||
},
|
||||
{
|
||||
"stepName": "值班员操作ISCS进行广播:因本站客流较大,乘车等待时间较长,请您转乘其他交通工具,给您出行造成不便,敬请谅解。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": true,
|
||||
"playPath": "res://Assets/training_speech/trainingLargePassengerFlow/ybzkdjdzcqtgzjqlj.mp3",
|
||||
"stepTip": false,
|
||||
"checkVoice": "",
|
||||
},
|
||||
{
|
||||
"stepName": "值班站长(机器人)对讲机通知站厅站务员:在进站闸机处设置警戒线,分批放行乘客进站。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": true,
|
||||
"playPath": "res://Assets/training_speech/trainingLargePassengerFlow/zzjzjcszjjjfpfxckjz.mp3",
|
||||
"stepTip": false,
|
||||
"checkVoice": "",
|
||||
},
|
||||
{
|
||||
"stepName": "启动二级客流控制\n步骤一:站厅站务员对讲机回复:在进站闸机处设置警戒线,分批放行乘客进站,收到。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "在进站闸机处设置警戒线,分批放行乘客进站,收到。"
|
||||
},
|
||||
{
|
||||
"stepName": "启动二级客流控制\n步骤二:站厅站务员在未关闭的进站闸机处设置警戒线。(A端)",
|
||||
"stepOperation": ['AInboundGate','picketline'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "启动二级客流控制\n步骤二:站务员通知乘客:现在站内客流较多,分批进站,请耐心等候。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "现在站内客流较多,分批进站,请耐心等候。"
|
||||
},
|
||||
{
|
||||
"stepName": "启动二级客流控制\n步骤三:站厅站务员在未关闭的进站闸机处设置警戒线。(B端)",
|
||||
"stepOperation": ['StaionHallBack','StationHallB','BInboundGate','picketline'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "启动二级客流控制\n步骤三:站务员通知乘客:现在站内客流较多,分批进站,请耐心等候。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "现在站内客流较多,分批进站,请耐心等候。"
|
||||
},
|
||||
{
|
||||
"stepName": "启动二级客流控制\n步骤四:在站厅A出口使用手提广播。",
|
||||
"stepOperation": ['StaionHallBack','APassageway','StationHallAExit','handheldRadio'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "启动二级客流控制\n步骤四:站厅站务员在站厅A出口使用手提广播建议乘客使用其他交通工具:因本站客流较大,乘车等待时间较长,请转乘其他交通工具,给您出行造成不便,敬请谅解。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "因本站客流较大,乘车等待时间较长,请转乘其他交通工具,给您出行造成不便,敬请谅解。",
|
||||
"notNestStepAfterFinisnCheckVoice": true,
|
||||
"doAfterFinisnCheckVoice": waitTimeNextAfterFinishCheckVoice,
|
||||
},
|
||||
{
|
||||
"stepName": "值班员操作ISCS播放广播:各位尊敬的乘客,本次开往会展中心站方向的列车将不停站通过,请您等候下一趟列车,感谢您的谅解与合作。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": true,
|
||||
"playPath": "res://Assets/training_speech/trainingLargePassengerFlow/gwzjdckbtztggxndljyhz.mp3",
|
||||
"stepTip": false,
|
||||
"checkVoice": "",
|
||||
},
|
||||
{
|
||||
"stepName": "值班员操作ISCS播放广播:各位尊敬的乘客,本次开往体育中心站方向的列车将不停站通过,请您等候下一趟列车,感谢您的谅解与合作。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": true,
|
||||
"playPath": "res://Assets/training_speech/trainingLargePassengerFlow/gwzjtcktyzxzbtzgxndljyhz.mp3",
|
||||
"stepTip": false,
|
||||
"checkVoice": "",
|
||||
},
|
||||
{
|
||||
"stepName": "值班站长(机器人)对讲机联系站厅站务员:AB口出入口只出不进,CD出入口内外设置铁马,减缓进站客流。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": true,
|
||||
"playPath": "res://Assets/training_speech/trainingLargePassengerFlow/abkzcbjcdksztmjhjzkj.mp3",
|
||||
"stepTip": false,
|
||||
"checkVoice": "",
|
||||
},
|
||||
{
|
||||
"stepName": "启动三级客流控制\n步骤一:站厅站务员对讲机回复:AB出入口只出不进,CD出入口内外设置铁马,减缓进站客流,收到。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "AB出入口只出不进,CD出入口内外设置铁马,减缓进站客流,收到。"
|
||||
},
|
||||
{
|
||||
"stepName": "启动三级客流控制\n步骤二:站厅站务员在A口摆放只出不进的宣传告示牌。(A口)",
|
||||
"stepOperation": ['Back','APassageway','noticeSigns'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "启动三级客流控制\n步骤二:站务员阻止乘客进站:现在站内客流较多,该口只出不进,请从CD两个出入口进站。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "现在站内客流较多,该口只出不进,请从CD两个出入口进站。"
|
||||
},
|
||||
{
|
||||
"stepName": "启动三级客流控制\n步骤三:站厅站务员在B口摆放只出不进的宣传告示牌。(B口)",
|
||||
"stepOperation": ['Back','BPassageway','noticeSigns'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "启动三级客流控制\n步骤三:站务员阻止乘客进站:现在站内客流较多,该口只出不进,请从CD两个出入口进站。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "现在站内客流较多,该口只出不进,请从CD两个出入口进站。"
|
||||
},
|
||||
{
|
||||
"stepName": "启动三级客流控制\n步骤四:站务员分别在C口,D口两个出入口通道和站外处设置铁马。",
|
||||
"stepOperation": ['Back','CPassageway','metalBarrier','StationHallCExit','metalBarrier','Back','DPassageway','metalBarrier','StationHallDExit','metalBarrier'],
|
||||
"doAfterFinisnStepOperation":waitTimeNextAfterFinishStepOperation,
|
||||
"next": false,
|
||||
"waitTime": 3,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "值班站长(机器人)发现乘客持续增多,对讲机联系站务员:现各出入口均只出不进,阻止乘客进站。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": true,
|
||||
"playPath": "res://Assets/training_speech/trainingLargePassengerFlow/xcrkjzcbjzzckjz.mp3",
|
||||
"stepTip": false,
|
||||
"checkVoice": "",
|
||||
},
|
||||
{
|
||||
"stepName": "启动三级客流控制\n步骤五:站厅站务员对讲机回复:现各出入口均只出不进,阻止乘客进站,收到。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "现各出入口均只出不进,阻止乘客进站,收到。"
|
||||
},
|
||||
{
|
||||
"stepName": "启动三级客流控制\n步骤六:站厅站务员在C口摆放只出不进的宣传告示牌。(C口)",
|
||||
"stepOperation": ['Back','CPassageway','noticeSigns'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "启动三级客流控制\n步骤六:站厅站务员阻止乘客进站:由于车站乘客较多,各出入口均只出不进,请选择其他交通方式出行,谢谢合作。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "由于车站乘客较多,各出入口均只出不进,请选择其他交通方式出行,谢谢合作。"
|
||||
},
|
||||
{
|
||||
"stepName": "启动三级客流控制\n步骤七:站厅站务员在D口摆放只出不进的宣传告示牌。(D口)",
|
||||
"stepOperation": ['Back','DPassageway','noticeSigns'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "启动三级客流控制\n步骤七:站厅站务员阻止乘客进站:由于车站乘客较多,各出入口均只出不进,请选择其他交通方式出行,谢谢合作。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "由于车站乘客较多,各出入口均只出不进,请选择其他交通方式出行,谢谢合作。",
|
||||
},
|
||||
{
|
||||
"stepName": "启动三级客流控制\n步骤八:站厅站务员在站台巡视。",
|
||||
"stepOperation": ['Back','DownPlatform'],
|
||||
"doAfterFinisnStepOperation":showFaultTipDialogAfterPlatformNotCrowd,
|
||||
"next": false,
|
||||
"waitTime": 5,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "取消三级客流控制\n步骤一:站台站务员发现站台乘客不拥挤后,对讲机汇报车控室:值班员,目前站台已不拥挤。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "值班员,目前站台已不拥挤。"
|
||||
},
|
||||
{
|
||||
"stepName": "值班员对讲机回复:收到,继续做好站台乘客服务工作。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": true,
|
||||
"playPath": "res://Assets/training_speech/trainingLargePassengerFlow/sdjxzhztckfwgz.mp3",
|
||||
"stepTip": false,
|
||||
"checkVoice": "",
|
||||
},
|
||||
{
|
||||
"stepName": "值班站长(机器人)对讲机通知站厅站务员:车站恢复正常运营,组织乘客正常进出站。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": true,
|
||||
"playPath": "res://Assets/training_speech/trainingLargePassengerFlow/czhfzcyyzzckzcjcz.mp3",
|
||||
"stepTip": false,
|
||||
"checkVoice": "",
|
||||
},
|
||||
{
|
||||
"stepName": "取消三级客流控制\n步骤二:站务员对讲机回复:车站恢复正常运营,组织乘客正常进出站,收到。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "车站恢复正常运营,组织乘客正常进出站,收到。",
|
||||
"doAfterFinisnCheckVoice": allTimerStopAndShowRedStripe,
|
||||
},
|
||||
{
|
||||
"stepName": "取消三级客流控制\n步骤三:站务员撤除站厅付费区楼梯处警戒线、进站闸机处警戒线,取消分批放行的措施。",
|
||||
"stepOperation": ['StationHallB','BInboundGate','picketlineModelAtGateB','BGangway','picketlineModelAtB','StaionHallBack','StaionHallA','AInboundGate','picketlineModelAtGateA','AGangway','picketlineModelAtA'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "取消三级客流控制\n步骤四:站务员在站台A端扶梯下部设置围挡。",
|
||||
"stepOperation": ['StaionHallBack','StationHallB','BLowerStep','hoarding'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "取消三级客流控制\n步骤五:站务员引导前往站厅的乘客走楼梯:请走步梯前往站厅。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "请走步梯前往站厅。"
|
||||
},
|
||||
{
|
||||
"stepName": "取消三级客流控制\n步骤六:待扶梯无乘客时,站务员使用扶梯钥匙将扶梯方向改为下行。",
|
||||
"stepOperation": ['escalatorKey'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "取消三级客流控制\n步骤七:待扶梯正常运行后,撤出围挡。",
|
||||
"stepOperation": ['hoardingAtEscalatorDown'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "取消三级客流控制\n步骤八:站务员撤除车站所有出入口宣传告示牌。",
|
||||
"stepOperation": ['StaionHallBack','APassageway','noticeSignsModelAtAEntrance','Back','BPassageway','noticeSignsModelAtBEntrance','Back','CPassageway','noticeSignsModelAtCEntrance','Back','DPassageway','noticeSignsModelAtDEntrance'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "取消三级客流控制\n步骤九:站务员撤除C口和D口所有铁马。",
|
||||
"stepOperation": ['metalBarrierModelAtDEntrance','StationHallDExit','metalBarrierModelAtStationHallDExit','Back','CPassageway','metalBarrierModelAtCEntrance','StationHallCExit','metalBarrierModelAtStationHallCExit','Back'],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": ""
|
||||
},
|
||||
{
|
||||
"stepName": "取消三级客流控制\n步骤十:站务员对讲机汇报值班员,值班站长:值班员,值班站长,车站已恢复正常运营。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
"checkVoice": "值班员,值班站长,车站已恢复正常运营。"
|
||||
},
|
||||
{
|
||||
"stepName": "值班站长(机器人)自动回复:收到。值班员对讲机回复:收到。",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"play": true,
|
||||
"playPath": "res://Assets/training_speech/sd.mp3",
|
||||
"stepTip": false,
|
||||
"checkVoice": "",
|
||||
},
|
||||
{
|
||||
"stepName": "实训完成!",
|
||||
"stepOperation": [],
|
||||
"next": false,
|
||||
"checkVoice": "",
|
||||
"play": false,
|
||||
"playPath": "",
|
||||
"stepTip": true,
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
## 步骤操作执行index
|
||||
var stepOperationIndex = 0
|
||||
|
||||
## 步骤执行index
|
||||
var handleStepIndex = 0
|
||||
|
||||
func _ready():
|
||||
$TrainingDescDialog.title = trainingName
|
||||
$TrainingDescDialog.updateSceneDesc(trainingDesc)
|
||||
$TrainingDescDialog.grab_focus()
|
||||
stepOperationIndex = 0
|
||||
handleStepIndex = 0
|
||||
|
||||
|
||||
var voiceCommunication
|
||||
func _on_training_desc_dialog_start_training() -> void:
|
||||
voiceCommunication = preload("res://Communication/voice_communication.tscn").instantiate()
|
||||
add_child(voiceCommunication)
|
||||
$total.startGeneratePeople()
|
||||
nextStep()
|
||||
|
||||
|
||||
func nextStep():
|
||||
if handleStepIndex < handleStep.size():
|
||||
var step = handleStep[handleStepIndex]
|
||||
handleStepIndex = handleStepIndex + 1
|
||||
if step.stepTip == true and $total.trainingMode != TotalScene.Training_Mode.Exam:
|
||||
$StepTip.updateOperationTip(step.stepName)
|
||||
if step.stepOperation.size() > 0:
|
||||
initStepOperation()
|
||||
if step.next == true:
|
||||
await get_tree().create_timer(step.waitTime).timeout
|
||||
nextStep()
|
||||
if step.checkVoice:
|
||||
await voiceCommunication.speech_record_check(step.checkVoice)
|
||||
if !step.has('notNestStepAfterFinisnCheckVoice') :
|
||||
nextStep()
|
||||
nextStep()
|
||||
if !step.has('doAfterFinisnCheckVoice') :
|
||||
step['doAfterFinisnCheckVoice'].call()
|
||||
if step.play:
|
||||
var sound = load(step.playPath)
|
||||
await voiceCommunication.play_reply(sound)
|
||||
if step.has('doAfterFinisnPlay') :
|
||||
step['doAfterFinisnPlay'].call()
|
||||
nextStep()
|
||||
|
||||
func setOperationNodeAndTip():
|
||||
$total.currenNeedClickNode = stepOperation[stepOperationIndex]
|
||||
if $total.trainingMode == TotalScene.Training_Mode.Teach:
|
||||
$TrainTip.setTrainingTip($total.allClickEquipmentInfo[stepOperation[stepOperationIndex]])
|
||||
|
||||
func initStepOperation():
|
||||
stepOperation = handleStep[handleStepIndex-1].stepOperation
|
||||
stepOperationIndex = 0
|
||||
setOperationNodeAndTip()
|
||||
|
||||
##与站台交互点击信号
|
||||
func _on_total_current_click_check_signal(isCorrect):
|
||||
if isCorrect:
|
||||
stepOperationIndex = stepOperationIndex + 1
|
||||
$StepJudgment.hideError()
|
||||
if stepOperationIndex < stepOperation.size():
|
||||
await get_tree().create_timer(0.05).timeout
|
||||
setOperationNodeAndTip()
|
||||
else:
|
||||
$TrainTip.setTrainingTip('')
|
||||
if handleStep[handleStepIndex-1].has('doAfterFinisnStepOperation') :
|
||||
handleStep[handleStepIndex-1]['doAfterFinisnStepOperation'].call(handleStep[handleStepIndex-1])
|
||||
else :
|
||||
nextStep()
|
||||
else:
|
||||
if $total.trainingMode != TotalScene.Training_Mode.Exam:
|
||||
$StepJudgment.showError()
|
||||
|
||||
|
||||
func _on_step_tip_click_next_step() -> void:
|
||||
var step = handleStep[handleStepIndex-1]
|
||||
if step.checkVoice:
|
||||
voiceCommunication._reset_record_state()
|
||||
if !step.has('notNestStepAfterFinisnCheckVoice') :
|
||||
nextStep()
|
||||
if step.has('doAfterFinisnCheckVoice') :
|
||||
step['doAfterFinisnCheckVoice'].call()
|
||||
|
||||
##完成某项需要做的其它事
|
||||
func waitTimeNextAfterFinishStepOperation(currentStep) -> void:
|
||||
await get_tree().create_timer(currentStep.waitTime).timeout
|
||||
nextStep()
|
||||
|
||||
func waitTimeNextAfterFinishCheckVoice() -> void:
|
||||
await get_tree().create_timer(3).timeout
|
||||
nextStep()
|
||||
|
||||
|
||||
func letPeopleWaitTrainAtDownPlatform() -> void:
|
||||
$total.letPeopleWaitTrainAtDownPlatform()
|
||||
|
||||
|
||||
func temporaryTicketOfficeComing() -> void:
|
||||
$total.temporaryTicketOfficeComing()
|
||||
|
||||
|
||||
func allTimerStopAndShowRedStripe() -> void:
|
||||
$total.allTimerStopAndShowRedStripe()
|
||||
|
||||
##提示弹框点确定触发下一步
|
||||
func showFaultTipDialogAfterPlatformCrowd() -> void:
|
||||
await get_tree().create_timer(15).timeout
|
||||
$FaultTipDialog.show()
|
||||
|
||||
func showFaultTipDialogAfterPlatformNotCrowd(currentStep) -> void:
|
||||
await get_tree().create_timer(currentStep.waitTime).timeout
|
||||
$FaultTipDialog.updateSceneDesc('目前站台已不拥挤')
|
||||
$FaultTipDialog.show()
|
||||
|
||||
func _on_fault_tip_dialog_comfirm_signal() -> void:
|
||||
nextStep()
|
||||
|
||||
##车来后触发下一步
|
||||
func _on_total_train_coming_signal() -> void:
|
||||
nextStep()
|
||||
|
||||
|
||||
func _on_confirm_dialog_two_cancel() -> void:
|
||||
get_tree().paused = false
|
||||
|
||||
|
||||
func _on_confirm_dialog_two_confirm() -> void:
|
||||
get_tree().paused = false
|
||||
get_tree().reload_current_scene()
|
@ -0,0 +1,41 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://csg67dg42014b"]
|
||||
|
||||
[ext_resource type="Script" path="res://trainings/trainingLargePassengerFlow/trainingLargePassengerFlow.gd" id="1_vwvl8"]
|
||||
[ext_resource type="PackedScene" uid="uid://dmlksr5k23wwk" path="res://sceen/totalOfLargePassengerFlow.tscn" id="2_hpywa"]
|
||||
[ext_resource type="PackedScene" uid="uid://qh8b3g6n3k2u" path="res://trainings/training_desc_dialog.tscn" id="3_s6lw0"]
|
||||
[ext_resource type="PackedScene" uid="uid://ckoxw6kgpjyhd" path="res://trainings/trainTip.tscn" id="4_yhq46"]
|
||||
[ext_resource type="PackedScene" uid="uid://b41vwoibfy5c6" path="res://trainings/stepJudgment.tscn" id="5_2fafh"]
|
||||
[ext_resource type="PackedScene" uid="uid://b3whbe3mau53w" path="res://trainings/confirmDialog/confirmDialog.tscn" id="6_31fg0"]
|
||||
[ext_resource type="PackedScene" uid="uid://yhr1n6e2m2b6" path="res://trainings/stepTip/stepTip.tscn" id="7_4ksgv"]
|
||||
[ext_resource type="PackedScene" uid="uid://b055j66siytth" path="res://trainings/faultTip/fault_tip_dialog.tscn" id="8_5hr5j"]
|
||||
|
||||
[node name="trainingLargePassengerFlow" type="Node3D"]
|
||||
script = ExtResource("1_vwvl8")
|
||||
trainingName = "车站大客流应急处置"
|
||||
trainingDesc = "X 年X 月X 日X 时X 分,火车站因附近体育馆举办赛事活动引发大客流,A口(位于站厅B端)进站客流猛增,客流初起阶段,车站售票能力不足,A端每台TVM前排队乘客超过规定人数,场面拥挤,此时站厅付费区与站台客流正常。车站增加售票能力后,站台乘客逐渐增多,达到一级客流控制警戒线,车站启动一级客流控制;车站执行一级客流控制措施后,进站客流仍持续增加,站厅付费区乘客达到饱和状态,车站启动二级客流控制;车站执行二级客流控制措施后,站台、站厅均达到客流控制警戒线,车站执行三级客流控制。"
|
||||
|
||||
[node name="total" parent="." instance=ExtResource("2_hpywa")]
|
||||
|
||||
[node name="TrainingDescDialog" parent="." instance=ExtResource("3_s6lw0")]
|
||||
|
||||
[node name="ConfirmDialog" parent="." instance=ExtResource("6_31fg0")]
|
||||
visible = false
|
||||
|
||||
[node name="StepTip" parent="." instance=ExtResource("7_4ksgv")]
|
||||
|
||||
[node name="TrainTip" parent="." instance=ExtResource("4_yhq46")]
|
||||
|
||||
[node name="StepJudgment" parent="." instance=ExtResource("5_2fafh")]
|
||||
|
||||
[node name="FaultTipDialog" parent="." instance=ExtResource("8_5hr5j")]
|
||||
visible = false
|
||||
tipDesc = "站台候车乘客较多,出现拥挤"
|
||||
|
||||
[connection signal="currentClickCheckSignal" from="total" to="." method="_on_total_current_click_check_signal"]
|
||||
[connection signal="trainComingSignal" from="total" to="." method="_on_total_train_coming_signal"]
|
||||
[connection signal="StartTraining" from="TrainingDescDialog" to="." method="_on_training_desc_dialog_start_training"]
|
||||
[connection signal="close_requested" from="TrainingDescDialog" to="TrainingDescDialog" method="_on_close_requested"]
|
||||
[connection signal="two_cancel" from="ConfirmDialog" to="." method="_on_confirm_dialog_two_cancel"]
|
||||
[connection signal="two_confirm" from="ConfirmDialog" to="." method="_on_confirm_dialog_two_confirm"]
|
||||
[connection signal="clickNextStep" from="StepTip" to="." method="_on_step_tip_click_next_step"]
|
||||
[connection signal="comfirmSignal" from="FaultTipDialog" to="." method="_on_fault_tip_dialog_comfirm_signal"]
|
Loading…
Reference in New Issue
Block a user