extends Node3D var screenDoorALL = [] ##开整体屏蔽门 func openScreenDoorALL ()-> void: for child in screenDoorALL: child.openScreenDoor() ##关整体屏蔽门 func closeScreenDoorALL ()-> void: for child in screenDoorALL: child.closeScreenDoor() ##所有屏蔽门开门到位 func allScreenDoorOpen ()-> bool: for child in screenDoorALL: if child.screenDoorState != ScreenDoor.ScreenDoor_State.open : return false return true ##所有屏蔽门关门到位 func allScreenDoorClose ()-> bool: for child in screenDoorALL: if child.screenDoorState != ScreenDoor.ScreenDoor_State.close : return false return true ##有屏蔽门开门到位 func hasScreenDoorOpen ()-> bool: for child in screenDoorALL: if child.screenDoorState == ScreenDoor.ScreenDoor_State.open : return true return false func _ready() -> void: var screenDoor_scene = preload("res://sceen/platform/screenDoor.tscn") for i in range(1, 5): var screenDoorInstance = screenDoor_scene.instantiate() add_child(screenDoorInstance) screenDoorALL.append(screenDoorInstance) screenDoorInstance.position.x=(i-1)*4.385 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")) screenDoorInstance.connect("screenDoorOpenSignal",Callable($"..","emitScreenDoorOpenSignal")) screenDoorInstance.connect("screenDoorCloseSignal",Callable($"..","emitScreenDoorCloseSignal")) ##所有站台点击操作汇总 signal allClickPlatformSignal(equipmentName:String,equipmentInfo) func _on_lcb_all_click_lcb_signal(equipmentName: String,equipmentInfo=null) -> void: allClickPlatformSignal.emit(equipmentName,equipmentInfo) func _on_psl_all_click_psl_signal(equipmentName: String, equipmentInfo: Variant=null) -> void: allClickPlatformSignal.emit(equipmentName,equipmentInfo) func _on_jjtc_all_click_jjtc_signal(equipmentName: String, equipmentInfo: Variant=null) -> void: allClickPlatformSignal.emit(equipmentName,equipmentInfo) func _on_screen_door_operate_all_click_screen_door_signal(equipmentName: String, equipmentInfo: Variant=null) -> void: allClickPlatformSignal.emit(equipmentName,equipmentInfo) func _on_station_keys_all_click_station_keys_signal(equipmentName: String) -> void: allClickPlatformSignal.emit(equipmentName,$stationKeys) func _on_camera_switch_ui_all_click_camera_switch_ui(equipmentName: String, equipmentInfo: Variant) -> void: allClickPlatformSignal.emit(equipmentName,equipmentInfo) func _on_shortcut_tool_all_click_shortcut_tool(equipmentName: String, equipmentInfo: Variant) -> void: allClickPlatformSignal.emit(equipmentName,equipmentInfo) ##屏蔽门lcb的状态变化 signal allScreenDoorLcbStateSignal(currenScreenDoor:ScreenDoor,knob_state:LcbWindow.KNOB_STATE) func _on_lcb_lcb_knob_state_signal(currenScreenDoor: ScreenDoor, knob_state: LcbWindow.KNOB_STATE) -> void: allScreenDoorLcbStateSignal.emit(currenScreenDoor,knob_state) ##展示相机切换和快捷工具 func showCameraAndShortcutTool() -> void: $CameraSwitchUi.visible = true $ShortcutTool.visible = true ##切换相机 func switchCamera (camera :LargePassengerFlowScene.Camera_name)-> void: $"..".switchCamera(camera) var Camera_name = LargePassengerFlowScene.Camera_name var camera_map = { Camera_name.SparePartsCabinet: "SparePartsCabinet", Camera_name.PartsArea: "PartsArea", Camera_name.StationHall: "StationHall", Camera_name.UpPlatform: "UpPlatform", Camera_name.DownPlatform: "DownPlatform", Camera_name.StationHallAExit: "StationHallAExit", Camera_name.AEntrance: "AEntrance", Camera_name.APassage: "APassage", Camera_name.StationHallBExit: "StationHallBExit", Camera_name.BEntrance: "BEntrance", Camera_name.BPassage: "BPassage", Camera_name.StationHallCExit: "StationHallCExit", Camera_name.CEntrance: "CEntrance", Camera_name.CPassage: "CPassage", Camera_name.StationHallDExit: "StationHallDExit", Camera_name.DEntrance: "DEntrance", Camera_name.DPassage: "DPassage", Camera_name.ALowerStepSwitch: "ALowerStepSwitch", Camera_name.ATVM: "ATVM", Camera_name.AInboundGate: "AInboundGate", Camera_name.AExitGate: "AExitGate", Camera_name.AUpperStep: "AUpperStep", Camera_name.ALowerStep: "ALowerStep", Camera_name.AGangway: "AGangway", Camera_name.BLowerStepSwitch: "BLowerStepSwitch", Camera_name.BTVM: "BTVM", Camera_name.BInboundGate: "BInboundGate", Camera_name.BExitGate: "BExitGate", Camera_name.BUpperStep: "BUpperStep", Camera_name.BLowerStep: "BLowerStep", Camera_name.BGangway: "BGangway", }