lcb钥匙使用逻辑修改:对于同一个LCB,已经插入钥匙,就不能再插入钥匙;在切换LCB的时候,不能重置已经插入的钥匙
This commit is contained in:
parent
f8889907b2
commit
38eb629fb9
@ -1,21 +1,8 @@
|
|||||||
extends Window
|
extends Window
|
||||||
|
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
|
||||||
func _ready():
|
|
||||||
pass # Replace with function body.
|
|
||||||
|
|
||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
||||||
func _process(delta):
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
func _on_jjtc_click_jjtc_signal():
|
func _on_jjtc_click_jjtc_signal():
|
||||||
self.show()
|
self.show()
|
||||||
$"../stationKeys".show()
|
$"../stationKeys".onShowWindow($"../stationKeys".WindowType.JJTC)
|
||||||
$"../stationKeys".shouAllKeys()
|
|
||||||
pass # Replace with function body.
|
|
||||||
|
|
||||||
|
|
||||||
func _on_close_requested():
|
func _on_close_requested():
|
||||||
@ -25,8 +12,7 @@ func _on_close_requested():
|
|||||||
|
|
||||||
func _on_station_keys_gui_input(event):
|
func _on_station_keys_gui_input(event):
|
||||||
if event.button_mask == MouseButtonMask.MOUSE_BUTTON_MASK_LEFT:
|
if event.button_mask == MouseButtonMask.MOUSE_BUTTON_MASK_LEFT:
|
||||||
$"../stationKeys".show()
|
$"../stationKeys".onShowWindow($"../stationKeys".WindowType.JJTC)
|
||||||
$"../stationKeys".shouAllKeys()
|
|
||||||
|
|
||||||
func shouJJTCKey():
|
func shouJJTCKey():
|
||||||
$JJTC_Key.show()
|
$JJTC_Key.show()
|
||||||
@ -36,7 +22,6 @@ func shouJJTCKey():
|
|||||||
|
|
||||||
func _on_jjtc_button_gui_input(event):
|
func _on_jjtc_button_gui_input(event):
|
||||||
print('jjtc button 按下')
|
print('jjtc button 按下')
|
||||||
pass # Replace with function body.
|
|
||||||
|
|
||||||
|
|
||||||
func _on_jjtc_button_mouse_entered():
|
func _on_jjtc_button_mouse_entered():
|
||||||
|
@ -5,10 +5,9 @@ func _on_screen_door_click_lcb_signal(screenDoor: Variant) -> void:
|
|||||||
var screenDoorName=String(screenDoor.name)
|
var screenDoorName=String(screenDoor.name)
|
||||||
self.title='LCB'+screenDoorName[screenDoorName.length() - 1]
|
self.title='LCB'+screenDoorName[screenDoorName.length() - 1]
|
||||||
self.show()
|
self.show()
|
||||||
$"../stationKeys".show()
|
$"../stationKeys".onShowWindow($"../stationKeys".WindowType.LCB,screenDoor.lcbKey.keyName)
|
||||||
$"../stationKeys".shouAllKeys()
|
|
||||||
currenScreenDoor=screenDoor
|
currenScreenDoor=screenDoor
|
||||||
resetState()
|
resetState(screenDoor.lcbKey)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -27,17 +26,18 @@ enum KNOB_STATE{
|
|||||||
@onready var knob_state : KNOB_STATE = KNOB_STATE.AUTO :
|
@onready var knob_state : KNOB_STATE = KNOB_STATE.AUTO :
|
||||||
set(value):
|
set(value):
|
||||||
knob_state = value
|
knob_state = value
|
||||||
|
|
||||||
|
func change_knob_state(state):
|
||||||
|
knob_state = state
|
||||||
|
currenScreenDoor.lcbKey.keyState = knob_state
|
||||||
if knob_state==KNOB_STATE.OPEN:
|
if knob_state==KNOB_STATE.OPEN:
|
||||||
currenScreenDoor.openScreenDoor()
|
currenScreenDoor.openScreenDoor()
|
||||||
elif knob_state==KNOB_STATE.CLOSE:
|
elif knob_state==KNOB_STATE.CLOSE:
|
||||||
currenScreenDoor.closeScreenDoor()
|
currenScreenDoor.closeScreenDoor()
|
||||||
|
|
||||||
|
|
||||||
func change_knob_state(state):
|
|
||||||
knob_state = state
|
|
||||||
|
|
||||||
##展示控制的钥匙
|
##展示控制的钥匙
|
||||||
func shouHandleKey():
|
func shouHandleKey(keyName:String):
|
||||||
|
currenScreenDoor.lcbKey.keyName = keyName
|
||||||
$TextureRect2.visible=true
|
$TextureRect2.visible=true
|
||||||
$LCB2_Right_Rotate.visible=true
|
$LCB2_Right_Rotate.visible=true
|
||||||
$LCB2_Left_Rotate.visible=true
|
$LCB2_Left_Rotate.visible=true
|
||||||
@ -49,9 +49,49 @@ func hideHandleKey():
|
|||||||
$LCB2_Left_Rotate.visible=false
|
$LCB2_Left_Rotate.visible=false
|
||||||
|
|
||||||
##重置面板
|
##重置面板
|
||||||
func resetState():
|
func resetState(lcbKey):
|
||||||
|
if(lcbKey.keyName):
|
||||||
|
shouHandleKey(currenScreenDoor.lcbKey.keyName)
|
||||||
|
knob_state = lcbKey.keyState
|
||||||
|
match lcbKey.keyState:
|
||||||
|
KNOB_STATE.ISOLATE:
|
||||||
|
$TextureRect2.rotation = -PI*62/180
|
||||||
|
KNOB_STATE.AUTO:
|
||||||
|
$TextureRect2.rotation = 0
|
||||||
|
KNOB_STATE.CLOSE:
|
||||||
|
$TextureRect2.rotation = PI*59/180
|
||||||
|
KNOB_STATE.OPEN:
|
||||||
|
$TextureRect2.rotation = PI/2
|
||||||
|
else:
|
||||||
change_knob_state(KNOB_STATE.AUTO)
|
change_knob_state(KNOB_STATE.AUTO)
|
||||||
$TextureRect2.rotation = 0
|
$TextureRect2.rotation = 0
|
||||||
hideHandleKey()
|
hideHandleKey()
|
||||||
|
|
||||||
|
##打开钥匙盒相关
|
||||||
|
func _on_open_key_window_gui_input(event: InputEvent) -> void:
|
||||||
|
if event.button_mask == MouseButtonMask.MOUSE_BUTTON_MASK_LEFT:
|
||||||
|
$"../stationKeys".onShowWindow($"../stationKeys".WindowType.LCB,currenScreenDoor.lcbKey.keyName)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_open_key_window_mouse_entered() -> void:
|
||||||
|
$openKeyWindow.set_default_cursor_shape(Control.CursorShape.CURSOR_POINTING_HAND)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_open_key_window_mouse_exited() -> void:
|
||||||
|
$openKeyWindow.set_default_cursor_shape(Control.CursorShape.CURSOR_ARROW)
|
||||||
|
|
||||||
|
##拔钥匙相关
|
||||||
|
func _on_texture_rect_2_gui_input(event: InputEvent) -> void:
|
||||||
|
return
|
||||||
|
if event.button_mask == MouseButtonMask.MOUSE_BUTTON_MASK_LEFT:
|
||||||
|
hideHandleKey()
|
||||||
|
$"../stationKeys".showKeyAfterRemoveKey(currenScreenDoor.lcbKey.keyName)
|
||||||
|
currenScreenDoor.lcbKey.keyName = ''
|
||||||
|
|
||||||
|
|
||||||
|
func _on_texture_rect_2_mouse_entered() -> void:
|
||||||
|
$TextureRect2.set_default_cursor_shape(Control.CursorShape.CURSOR_POINTING_HAND)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_texture_rect_2_mouse_exited() -> void:
|
||||||
|
$TextureRect2.set_default_cursor_shape(Control.CursorShape.CURSOR_ARROW)
|
||||||
|
@ -7,23 +7,7 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://b7j3msd4bw0im" path="res://Assets/LCB_Arrow.svg" id="5_l3h46"]
|
[ext_resource type="Texture2D" uid="uid://b7j3msd4bw0im" path="res://Assets/LCB_Arrow.svg" id="5_l3h46"]
|
||||||
[ext_resource type="Script" path="res://UI/LCB/LCB_Right_Rotate.gd" id="6_bg24u"]
|
[ext_resource type="Script" path="res://UI/LCB/LCB_Right_Rotate.gd" id="6_bg24u"]
|
||||||
[ext_resource type="Script" path="res://UI/LCB/LCB_Left_Rotate.gd" id="7_g7j6c"]
|
[ext_resource type="Script" path="res://UI/LCB/LCB_Left_Rotate.gd" id="7_g7j6c"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cpmlwpev7rvbp" path="res://Assets/打开钥匙面板钥匙.png" id="8_12p4y"]
|
||||||
[sub_resource type="GDScript" id="GDScript_m3ckf"]
|
|
||||||
script/source = "extends TextureRect
|
|
||||||
|
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
|
||||||
func _ready() -> void:
|
|
||||||
pass # Replace with function body.
|
|
||||||
|
|
||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
||||||
func _process(delta: float) -> void:
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
"
|
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_1u8bl"]
|
[sub_resource type="Animation" id="Animation_1u8bl"]
|
||||||
resource_name = "AutoToClose"
|
resource_name = "AutoToClose"
|
||||||
@ -169,8 +153,6 @@ offset_right = 328.0
|
|||||||
offset_bottom = 328.0
|
offset_bottom = 328.0
|
||||||
pivot_offset = Vector2(128, 128)
|
pivot_offset = Vector2(128, 128)
|
||||||
texture = ExtResource("4_i7jy7")
|
texture = ExtResource("4_i7jy7")
|
||||||
stretch_mode = 5
|
|
||||||
script = SubResource("GDScript_m3ckf")
|
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="."]
|
[node name="Label" type="Label" parent="."]
|
||||||
offset_left = 96.0
|
offset_left = 96.0
|
||||||
@ -225,3 +207,18 @@ script = ExtResource("7_g7j6c")
|
|||||||
libraries = {
|
libraries = {
|
||||||
"": SubResource("AnimationLibrary_nflv5")
|
"": SubResource("AnimationLibrary_nflv5")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[node name="openKeyWindow" type="TextureRect" parent="."]
|
||||||
|
offset_left = 350.0
|
||||||
|
offset_top = 50.0
|
||||||
|
offset_right = 418.0
|
||||||
|
offset_bottom = 200.0
|
||||||
|
scale = Vector2(0.5, 0.5)
|
||||||
|
texture = ExtResource("8_12p4y")
|
||||||
|
|
||||||
|
[connection signal="gui_input" from="TextureRect2" to="." method="_on_texture_rect_2_gui_input"]
|
||||||
|
[connection signal="mouse_entered" from="TextureRect2" to="." method="_on_texture_rect_2_mouse_entered"]
|
||||||
|
[connection signal="mouse_exited" from="TextureRect2" to="." method="_on_texture_rect_2_mouse_exited"]
|
||||||
|
[connection signal="gui_input" from="openKeyWindow" to="." method="_on_open_key_window_gui_input"]
|
||||||
|
[connection signal="mouse_entered" from="openKeyWindow" to="." method="_on_open_key_window_mouse_entered"]
|
||||||
|
[connection signal="mouse_exited" from="openKeyWindow" to="." method="_on_open_key_window_mouse_exited"]
|
||||||
|
@ -1,83 +0,0 @@
|
|||||||
[gd_scene load_steps=10 format=3 uid="uid://b7k8341jwy22f"]
|
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://bsr40ogx2e2ir" path="res://UI/station_keys/jjtc_key_control.tscn" id="1_taymr"]
|
|
||||||
[ext_resource type="Theme" uid="uid://bycedcl2nwwlu" path="res://ui_theme.tres" id="1_vlsle"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dkqnt73pyqgwj" path="res://UI/station_keys/lcb1_key_control.tscn" id="2_a6b1q"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://63r8gueubu2q" path="res://UI/station_keys/lcb2_key_control.tscn" id="3_8astu"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://biwdpy5pifxgi" path="res://UI/station_keys/lcb_key_control.tscn" id="4_dahi7"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dnmfwdvba6td3" path="res://UI/station_keys/psl_key_control.tscn" id="5_n4mmv"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://cjjs2fsw6i8ye" path="res://UI/station_keys/sdjs_key_control.tscn" id="6_7pwvh"]
|
|
||||||
|
|
||||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_eooev"]
|
|
||||||
bg_color = Color(0, 0, 0, 0.235294)
|
|
||||||
border_width_left = 2
|
|
||||||
border_width_top = 2
|
|
||||||
border_width_right = 2
|
|
||||||
border_width_bottom = 2
|
|
||||||
|
|
||||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_nu4ha"]
|
|
||||||
bg_color = Color(0, 0, 0, 0.352941)
|
|
||||||
|
|
||||||
[node name="PanelContainer" type="PanelContainer"]
|
|
||||||
offset_right = 368.0
|
|
||||||
offset_bottom = 232.0
|
|
||||||
theme_override_styles/panel = SubResource("StyleBoxFlat_eooev")
|
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
|
||||||
layout_mode = 2
|
|
||||||
|
|
||||||
[node name="PanelContainer" type="PanelContainer" parent="VBoxContainer"]
|
|
||||||
layout_mode = 2
|
|
||||||
theme_override_styles/panel = SubResource("StyleBoxFlat_nu4ha")
|
|
||||||
|
|
||||||
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/PanelContainer"]
|
|
||||||
layout_mode = 2
|
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="VBoxContainer/PanelContainer/HBoxContainer"]
|
|
||||||
layout_mode = 2
|
|
||||||
size_flags_horizontal = 3
|
|
||||||
size_flags_stretch_ratio = 3.0
|
|
||||||
text = "标题"
|
|
||||||
horizontal_alignment = 1
|
|
||||||
|
|
||||||
[node name="Button" type="Button" parent="VBoxContainer/PanelContainer/HBoxContainer"]
|
|
||||||
layout_mode = 2
|
|
||||||
size_flags_horizontal = 8
|
|
||||||
focus_mode = 0
|
|
||||||
theme = ExtResource("1_vlsle")
|
|
||||||
text = "X"
|
|
||||||
|
|
||||||
[node name="GridContainer" type="GridContainer" parent="VBoxContainer"]
|
|
||||||
layout_mode = 2
|
|
||||||
columns = 4
|
|
||||||
|
|
||||||
[node name="JJTC_Key" parent="VBoxContainer/GridContainer" instance=ExtResource("1_taymr")]
|
|
||||||
layout_mode = 2
|
|
||||||
|
|
||||||
[node name="LCB1_Key" parent="VBoxContainer/GridContainer" instance=ExtResource("2_a6b1q")]
|
|
||||||
layout_mode = 2
|
|
||||||
|
|
||||||
[node name="LCB2_Key" parent="VBoxContainer/GridContainer" instance=ExtResource("3_8astu")]
|
|
||||||
layout_mode = 2
|
|
||||||
|
|
||||||
[node name="LCB3_Key" parent="VBoxContainer/GridContainer" instance=ExtResource("4_dahi7")]
|
|
||||||
layout_mode = 2
|
|
||||||
|
|
||||||
[node name="PSL_Key" parent="VBoxContainer/GridContainer" instance=ExtResource("5_n4mmv")]
|
|
||||||
layout_mode = 2
|
|
||||||
|
|
||||||
[node name="SDJS_Key" parent="VBoxContainer/GridContainer" instance=ExtResource("6_7pwvh")]
|
|
||||||
layout_mode = 2
|
|
||||||
|
|
||||||
[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer"]
|
|
||||||
layout_mode = 2
|
|
||||||
theme_override_constants/margin_top = 30
|
|
||||||
theme_override_constants/margin_bottom = 0
|
|
||||||
|
|
||||||
[node name="Button" type="Button" parent="VBoxContainer/MarginContainer"]
|
|
||||||
layout_mode = 2
|
|
||||||
size_flags_horizontal = 4
|
|
||||||
size_flags_vertical = 4
|
|
||||||
focus_mode = 0
|
|
||||||
theme_override_font_sizes/font_size = 24
|
|
||||||
text = "确认"
|
|
@ -3,8 +3,7 @@ extends Window
|
|||||||
|
|
||||||
func _on_psl_click_signal() -> void:
|
func _on_psl_click_signal() -> void:
|
||||||
self.show()
|
self.show()
|
||||||
$"../stationKeys".show()
|
$"../stationKeys".onShowWindow($"../stationKeys".WindowType.PSL)
|
||||||
$"../stationKeys".shouAllKeys()
|
|
||||||
hidePSLAllowHandleKey()
|
hidePSLAllowHandleKey()
|
||||||
hideInterlockReleaseSwitchHandleKey()
|
hideInterlockReleaseSwitchHandleKey()
|
||||||
|
|
||||||
|
@ -1,51 +0,0 @@
|
|||||||
[gd_scene load_steps=7 format=3 uid="uid://d1lavjoj2lsgo"]
|
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://b7k8341jwy22f" path="res://UI/panel_container.tscn" id="1_beblv"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://d167och8l6jms" path="res://UI/station_keys/station_keys_window.tscn" id="2_xrug6"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://6lortgihx5jy" path="res://Communication/voice_communication.tscn" id="3_0j5m0"]
|
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_qpl3n"]
|
|
||||||
size = Vector3(60, 2, 60)
|
|
||||||
|
|
||||||
[sub_resource type="BoxMesh" id="BoxMesh_n702p"]
|
|
||||||
size = Vector3(60, 2, 60)
|
|
||||||
|
|
||||||
[sub_resource type="CapsuleMesh" id="CapsuleMesh_tlxkr"]
|
|
||||||
|
|
||||||
[node name="Node3D" type="Node3D"]
|
|
||||||
|
|
||||||
[node name="Ground" type="StaticBody3D" parent="."]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
|
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Ground"]
|
|
||||||
shape = SubResource("BoxShape3D_qpl3n")
|
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Ground"]
|
|
||||||
mesh = SubResource("BoxMesh_n702p")
|
|
||||||
|
|
||||||
[node name="Camera3D" type="Camera3D" parent="."]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 0.5, 0.866025, 0, -0.866025, 0.5, 0, 9, 11)
|
|
||||||
|
|
||||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 15, 0)
|
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
|
||||||
transform = Transform3D(1.6, 0, 0, 0, 2.24, 0, 0, 0, 1.6, -11, 1, -2)
|
|
||||||
mesh = SubResource("CapsuleMesh_tlxkr")
|
|
||||||
|
|
||||||
[node name="PSL_Button" type="Button" parent="."]
|
|
||||||
offset_left = 144.0
|
|
||||||
offset_top = 132.0
|
|
||||||
offset_right = 180.0
|
|
||||||
offset_bottom = 163.0
|
|
||||||
text = "PSL"
|
|
||||||
|
|
||||||
[node name="PanelContainer" parent="." instance=ExtResource("1_beblv")]
|
|
||||||
visible = false
|
|
||||||
|
|
||||||
[node name="Window" parent="." instance=ExtResource("2_xrug6")]
|
|
||||||
|
|
||||||
[node name="VoiceCommunication" parent="." instance=ExtResource("3_0j5m0")]
|
|
||||||
|
|
||||||
[connection signal="pressed" from="PSL_Button" to="Window" method="_on_show_button_pressed"]
|
|
||||||
[connection signal="pressed" from="PSL_Button" to="VoiceCommunication" method="_on_psl_button_pressed"]
|
|
@ -1,37 +0,0 @@
|
|||||||
[gd_scene load_steps=5 format=3 uid="uid://dkqnt73pyqgwj"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://UI/station_keys/outlined_key.gd" id="1_5bwgk"]
|
|
||||||
[ext_resource type="Shader" path="res://shaders/outline.gdshader" id="2_bgq1b"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://c3dplk5y1607u" path="res://Assets/LCB钥匙.png" id="3_5sgan"]
|
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_0dtby"]
|
|
||||||
shader = ExtResource("2_bgq1b")
|
|
||||||
shader_parameter/color = Color(0, 1, 1, 1)
|
|
||||||
shader_parameter/width = 3.0
|
|
||||||
shader_parameter/pattern = 1
|
|
||||||
shader_parameter/inside = false
|
|
||||||
shader_parameter/add_margins = true
|
|
||||||
shader_parameter/number_of_images = Vector2(1, 1)
|
|
||||||
|
|
||||||
[node name="LCB_Key" type="VBoxContainer"]
|
|
||||||
offset_right = 128.0
|
|
||||||
offset_bottom = 155.0
|
|
||||||
focus_mode = 1
|
|
||||||
script = ExtResource("1_5bwgk")
|
|
||||||
outline_material = SubResource("ShaderMaterial_0dtby")
|
|
||||||
|
|
||||||
[node name="Key" type="TextureRect" parent="."]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
layout_mode = 2
|
|
||||||
focus_mode = 2
|
|
||||||
texture = ExtResource("3_5sgan")
|
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="."]
|
|
||||||
layout_mode = 2
|
|
||||||
size_flags_horizontal = 4
|
|
||||||
text = "LCB钥匙"
|
|
||||||
|
|
||||||
[connection signal="focus_entered" from="Key" to="." method="_on_focus_entered"]
|
|
||||||
[connection signal="focus_exited" from="Key" to="." method="_on_focus_exited"]
|
|
||||||
[connection signal="mouse_entered" from="Key" to="." method="_on_area_2d_mouse_entered"]
|
|
||||||
[connection signal="mouse_exited" from="Key" to="." method="_on_area_2d_mouse_exited"]
|
|
@ -1,37 +0,0 @@
|
|||||||
[gd_scene load_steps=5 format=3 uid="uid://63r8gueubu2q"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://UI/station_keys/outlined_key.gd" id="1_f23n4"]
|
|
||||||
[ext_resource type="Shader" path="res://shaders/outline.gdshader" id="2_op1qj"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://c3dplk5y1607u" path="res://Assets/LCB钥匙.png" id="3_2ad7b"]
|
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_0dtby"]
|
|
||||||
shader = ExtResource("2_op1qj")
|
|
||||||
shader_parameter/color = Color(0, 1, 1, 1)
|
|
||||||
shader_parameter/width = 3.0
|
|
||||||
shader_parameter/pattern = 1
|
|
||||||
shader_parameter/inside = false
|
|
||||||
shader_parameter/add_margins = true
|
|
||||||
shader_parameter/number_of_images = Vector2(1, 1)
|
|
||||||
|
|
||||||
[node name="LCB_Key" type="VBoxContainer"]
|
|
||||||
offset_right = 128.0
|
|
||||||
offset_bottom = 155.0
|
|
||||||
focus_mode = 1
|
|
||||||
script = ExtResource("1_f23n4")
|
|
||||||
outline_material = SubResource("ShaderMaterial_0dtby")
|
|
||||||
|
|
||||||
[node name="Key" type="TextureRect" parent="."]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
layout_mode = 2
|
|
||||||
focus_mode = 2
|
|
||||||
texture = ExtResource("3_2ad7b")
|
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="."]
|
|
||||||
layout_mode = 2
|
|
||||||
size_flags_horizontal = 4
|
|
||||||
text = "LCB钥匙"
|
|
||||||
|
|
||||||
[connection signal="focus_entered" from="Key" to="." method="_on_focus_entered"]
|
|
||||||
[connection signal="focus_exited" from="Key" to="." method="_on_focus_exited"]
|
|
||||||
[connection signal="mouse_entered" from="Key" to="." method="_on_area_2d_mouse_entered"]
|
|
||||||
[connection signal="mouse_exited" from="Key" to="." method="_on_area_2d_mouse_exited"]
|
|
@ -2,48 +2,53 @@ extends Window
|
|||||||
|
|
||||||
var current_focus: CanvasItem
|
var current_focus: CanvasItem
|
||||||
|
|
||||||
|
## 打开的面板类型枚举
|
||||||
|
enum WindowType{
|
||||||
|
LCB,
|
||||||
|
PSL,
|
||||||
|
JJTC,
|
||||||
|
}
|
||||||
|
|
||||||
|
var current_together_window: WindowType
|
||||||
|
|
||||||
|
var current_lcb_keyname: String=''
|
||||||
|
|
||||||
func _on_key_focus_entered(node):
|
func _on_key_focus_entered(node):
|
||||||
current_focus = node
|
current_focus = node
|
||||||
print("node : ", current_focus.name, " focus")
|
print("node : ", current_focus.name, " focus")
|
||||||
|
|
||||||
|
|
||||||
func _on_button_pressed():
|
func _on_button_pressed():
|
||||||
if current_focus == null:
|
if current_focus == null or (current_together_window==WindowType.LCB and (!current_focus.name.contains('LCB') or current_lcb_keyname)) or (current_together_window==WindowType.PSL and (!current_focus.name.contains('PSL') and !current_focus.name.contains('HSJC') )) or (current_together_window==WindowType.JJTC and !current_focus.name.contains('JJTC')):
|
||||||
print("请选择钥匙")
|
print("请选择钥匙")
|
||||||
else:
|
else:
|
||||||
print("使用钥匙:", current_focus.name)
|
print("使用钥匙:", current_focus.name)
|
||||||
current_focus.hide_key()
|
if current_focus.name.contains('LCB') :
|
||||||
$AudioStreamPlayer.play()
|
$"../LCB".shouHandleKey(current_focus.name)
|
||||||
if(current_focus.name.contains('LCB')):
|
|
||||||
$"../LCB".shouHandleKey()
|
|
||||||
$"../LCB".grab_focus()
|
$"../LCB".grab_focus()
|
||||||
elif (current_focus.name.contains('PSL')):
|
current_lcb_keyname = current_focus.name
|
||||||
|
elif current_focus.name.contains('PSL'):
|
||||||
$"../psl".shouPSLAllowHandleKey()
|
$"../psl".shouPSLAllowHandleKey()
|
||||||
$"../psl".grab_focus()
|
$"../psl".grab_focus()
|
||||||
elif (current_focus.name.contains('HSJC')):
|
elif current_focus.name.contains('HSJC'):
|
||||||
$"../psl".shouInterlockReleaseSwitchHandleKey()
|
$"../psl".shouInterlockReleaseSwitchHandleKey()
|
||||||
$"../psl".grab_focus()
|
$"../psl".grab_focus()
|
||||||
elif (current_focus.name.contains('JJTC')):
|
elif (current_focus.name.contains('JJTC')):
|
||||||
$"../jjtc".shouJJTCKey()
|
$"../jjtc".shouJJTCKey()
|
||||||
$"../jjtc".grab_focus()
|
$"../jjtc".grab_focus()
|
||||||
|
current_focus.hide_key()
|
||||||
|
$AudioStreamPlayer.play()
|
||||||
|
|
||||||
|
func showKeyAfterRemoveKey(keyName):
|
||||||
|
$PanelContainer/VBoxContainer/GridContainer.find_child(keyName).show_key()
|
||||||
|
current_lcb_keyname = ''
|
||||||
|
|
||||||
|
|
||||||
func _on_close_requested():
|
func _on_close_requested():
|
||||||
self.hide()
|
self.hide()
|
||||||
|
|
||||||
|
|
||||||
func _on_show_button_pressed():
|
func onShowWindow(togetherWindow:WindowType,lcbKeyName = ''):
|
||||||
print('on_show_button_pressed');
|
current_together_window = togetherWindow
|
||||||
|
current_lcb_keyname = lcbKeyName
|
||||||
self.show()
|
self.show()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func shouAllKeys():
|
|
||||||
make_node_visible($PanelContainer/VBoxContainer/GridContainer)
|
|
||||||
|
|
||||||
func make_node_visible(node: Node):
|
|
||||||
node.visible = true
|
|
||||||
node.modulate.a = 255
|
|
||||||
for child in node.get_children():
|
|
||||||
make_node_visible(child)
|
|
||||||
|
|
||||||
|
@ -1,15 +1,13 @@
|
|||||||
[gd_scene load_steps=13 format=3 uid="uid://d167och8l6jms"]
|
[gd_scene load_steps=11 format=3 uid="uid://d167och8l6jms"]
|
||||||
|
|
||||||
[ext_resource type="Theme" uid="uid://bycedcl2nwwlu" path="res://ui_theme.tres" id="1_gct42"]
|
[ext_resource type="Theme" uid="uid://bycedcl2nwwlu" path="res://ui_theme.tres" id="1_gct42"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dnmfwdvba6td3" path="res://UI/station_keys/psl_key_control.tscn" id="1_pwbsc"]
|
[ext_resource type="PackedScene" uid="uid://dnmfwdvba6td3" path="res://UI/station_keys/psl_key_control.tscn" id="1_pwbsc"]
|
||||||
[ext_resource type="PackedScene" uid="uid://cjjs2fsw6i8ye" path="res://UI/station_keys/sdjs_key_control.tscn" id="1_wmags"]
|
[ext_resource type="PackedScene" uid="uid://cjjs2fsw6i8ye" path="res://UI/station_keys/sdjs_key_control.tscn" id="1_wmags"]
|
||||||
[ext_resource type="Script" path="res://UI/station_keys/station_keys_window.gd" id="1_x7tnv"]
|
[ext_resource type="Script" path="res://UI/station_keys/station_keys_window.gd" id="1_x7tnv"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bsr40ogx2e2ir" path="res://UI/station_keys/jjtc_key_control.tscn" id="2_cndsv"]
|
[ext_resource type="PackedScene" uid="uid://bsr40ogx2e2ir" path="res://UI/station_keys/jjtc_key_control.tscn" id="2_cndsv"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dkqnt73pyqgwj" path="res://UI/station_keys/lcb1_key_control.tscn" id="2_h8ap0"]
|
|
||||||
[ext_resource type="FontFile" uid="uid://bkbpyidjguavf" path="res://Assets/FeiHuaSongTi-2.ttf" id="2_mlqh2"]
|
[ext_resource type="FontFile" uid="uid://bkbpyidjguavf" path="res://Assets/FeiHuaSongTi-2.ttf" id="2_mlqh2"]
|
||||||
[ext_resource type="PackedScene" uid="uid://biwdpy5pifxgi" path="res://UI/station_keys/lcb_key_control.tscn" id="2_xelwb"]
|
[ext_resource type="PackedScene" uid="uid://biwdpy5pifxgi" path="res://UI/station_keys/lcb_key_control.tscn" id="2_xelwb"]
|
||||||
[ext_resource type="PackedScene" uid="uid://63r8gueubu2q" path="res://UI/station_keys/lcb2_key_control.tscn" id="3_0e67u"]
|
[ext_resource type="PackedScene" uid="uid://blixp06e6vnoe" path="res://UI/station_keys/hsjc_key_control.tscn" id="9_q6qly"]
|
||||||
[ext_resource type="PackedScene" path="res://UI/station_keys/hsjc_key_control.tscn" id="9_q6qly"]
|
|
||||||
[ext_resource type="AudioStream" uid="uid://di5nwer0mdafr" path="res://Assets/music/箭头提示音.mp3" id="10_cspe3"]
|
[ext_resource type="AudioStream" uid="uid://di5nwer0mdafr" path="res://Assets/music/箭头提示音.mp3" id="10_cspe3"]
|
||||||
|
|
||||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_1w22c"]
|
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_1w22c"]
|
||||||
@ -17,7 +15,7 @@
|
|||||||
[node name="Window" type="Window"]
|
[node name="Window" type="Window"]
|
||||||
title = "请选择钥匙"
|
title = "请选择钥匙"
|
||||||
position = Vector2i(10, 36)
|
position = Vector2i(10, 36)
|
||||||
size = Vector2i(656, 534)
|
size = Vector2i(528, 406)
|
||||||
wrap_controls = true
|
wrap_controls = true
|
||||||
unresizable = true
|
unresizable = true
|
||||||
transparent = true
|
transparent = true
|
||||||
@ -29,7 +27,7 @@ script = ExtResource("1_x7tnv")
|
|||||||
offset_left = 4.0
|
offset_left = 4.0
|
||||||
offset_top = 4.0
|
offset_top = 4.0
|
||||||
offset_right = 528.0
|
offset_right = 528.0
|
||||||
offset_bottom = 404.0
|
offset_bottom = 406.0
|
||||||
theme_override_styles/panel = SubResource("StyleBoxEmpty_1w22c")
|
theme_override_styles/panel = SubResource("StyleBoxEmpty_1w22c")
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
|
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
|
||||||
@ -39,22 +37,22 @@ layout_mode = 2
|
|||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
columns = 4
|
columns = 4
|
||||||
|
|
||||||
|
[node name="LCB_Key1" parent="PanelContainer/VBoxContainer/GridContainer" instance=ExtResource("2_xelwb")]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="LCB_Key2" parent="PanelContainer/VBoxContainer/GridContainer" instance=ExtResource("2_xelwb")]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="LCB_Key3" parent="PanelContainer/VBoxContainer/GridContainer" instance=ExtResource("2_xelwb")]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="LCB_Key4" parent="PanelContainer/VBoxContainer/GridContainer" instance=ExtResource("2_xelwb")]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
[node name="JJTC_Key" parent="PanelContainer/VBoxContainer/GridContainer" instance=ExtResource("2_cndsv")]
|
[node name="JJTC_Key" parent="PanelContainer/VBoxContainer/GridContainer" instance=ExtResource("2_cndsv")]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
tooltip_text = "紧急停车钥匙"
|
tooltip_text = "紧急停车钥匙"
|
||||||
|
|
||||||
[node name="LCB1_Key" parent="PanelContainer/VBoxContainer/GridContainer" instance=ExtResource("2_h8ap0")]
|
|
||||||
layout_mode = 2
|
|
||||||
|
|
||||||
[node name="LCB2_Key" parent="PanelContainer/VBoxContainer/GridContainer" instance=ExtResource("3_0e67u")]
|
|
||||||
layout_mode = 2
|
|
||||||
|
|
||||||
[node name="LCB2_Key2" parent="PanelContainer/VBoxContainer/GridContainer" instance=ExtResource("3_0e67u")]
|
|
||||||
layout_mode = 2
|
|
||||||
|
|
||||||
[node name="LCB3_Key" parent="PanelContainer/VBoxContainer/GridContainer" instance=ExtResource("2_xelwb")]
|
|
||||||
layout_mode = 2
|
|
||||||
|
|
||||||
[node name="PSL_Key" parent="PanelContainer/VBoxContainer/GridContainer" instance=ExtResource("1_pwbsc")]
|
[node name="PSL_Key" parent="PanelContainer/VBoxContainer/GridContainer" instance=ExtResource("1_pwbsc")]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
@ -81,11 +79,11 @@ text = "确认"
|
|||||||
stream = ExtResource("10_cspe3")
|
stream = ExtResource("10_cspe3")
|
||||||
|
|
||||||
[connection signal="close_requested" from="." to="." method="_on_close_requested"]
|
[connection signal="close_requested" from="." to="." method="_on_close_requested"]
|
||||||
|
[connection signal="on_focus" from="PanelContainer/VBoxContainer/GridContainer/LCB_Key1" to="." method="_on_key_focus_entered"]
|
||||||
|
[connection signal="on_focus" from="PanelContainer/VBoxContainer/GridContainer/LCB_Key2" to="." method="_on_key_focus_entered"]
|
||||||
|
[connection signal="on_focus" from="PanelContainer/VBoxContainer/GridContainer/LCB_Key3" to="." method="_on_key_focus_entered"]
|
||||||
|
[connection signal="on_focus" from="PanelContainer/VBoxContainer/GridContainer/LCB_Key4" to="." method="_on_key_focus_entered"]
|
||||||
[connection signal="on_focus" from="PanelContainer/VBoxContainer/GridContainer/JJTC_Key" to="." method="_on_key_focus_entered"]
|
[connection signal="on_focus" from="PanelContainer/VBoxContainer/GridContainer/JJTC_Key" to="." method="_on_key_focus_entered"]
|
||||||
[connection signal="on_focus" from="PanelContainer/VBoxContainer/GridContainer/LCB1_Key" to="." method="_on_key_focus_entered"]
|
|
||||||
[connection signal="on_focus" from="PanelContainer/VBoxContainer/GridContainer/LCB2_Key" to="." method="_on_key_focus_entered"]
|
|
||||||
[connection signal="on_focus" from="PanelContainer/VBoxContainer/GridContainer/LCB2_Key2" to="." method="_on_key_focus_entered"]
|
|
||||||
[connection signal="on_focus" from="PanelContainer/VBoxContainer/GridContainer/LCB3_Key" to="." method="_on_key_focus_entered"]
|
|
||||||
[connection signal="on_focus" from="PanelContainer/VBoxContainer/GridContainer/PSL_Key" to="." method="_on_key_focus_entered"]
|
[connection signal="on_focus" from="PanelContainer/VBoxContainer/GridContainer/PSL_Key" to="." method="_on_key_focus_entered"]
|
||||||
[connection signal="on_focus" from="PanelContainer/VBoxContainer/GridContainer/HSJC_Key" to="." method="_on_key_focus_entered"]
|
[connection signal="on_focus" from="PanelContainer/VBoxContainer/GridContainer/HSJC_Key" to="." method="_on_key_focus_entered"]
|
||||||
[connection signal="on_focus" from="PanelContainer/VBoxContainer/GridContainer/SDJS_Key" to="." method="_on_key_focus_entered"]
|
[connection signal="on_focus" from="PanelContainer/VBoxContainer/GridContainer/SDJS_Key" to="." method="_on_key_focus_entered"]
|
||||||
|
@ -1 +0,0 @@
|
|||||||
extends Window
|
|
@ -1,21 +0,0 @@
|
|||||||
[gd_scene load_steps=6 format=3 uid="uid://bhtvin66eei32"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://UI/transparent_window.gd" id="1_bfvn2"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://bsr40ogx2e2ir" path="res://UI/station_keys/jjtc_key_control.tscn" id="1_l6iqj"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dkqnt73pyqgwj" path="res://UI/station_keys/lcb1_key_control.tscn" id="2_5nk4v"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://63r8gueubu2q" path="res://UI/station_keys/lcb2_key_control.tscn" id="3_lpt01"]
|
|
||||||
[ext_resource type="PackedScene" uid="uid://biwdpy5pifxgi" path="res://UI/station_keys/lcb_key_control.tscn" id="4_ud6su"]
|
|
||||||
|
|
||||||
[node name="Window" type="Window"]
|
|
||||||
transparent_bg = true
|
|
||||||
position = Vector2i(10, 36)
|
|
||||||
transparent = true
|
|
||||||
script = ExtResource("1_bfvn2")
|
|
||||||
|
|
||||||
[node name="JJTC_Key" parent="." instance=ExtResource("1_l6iqj")]
|
|
||||||
|
|
||||||
[node name="LCB_Key" parent="." instance=ExtResource("2_5nk4v")]
|
|
||||||
|
|
||||||
[node name="LCB_Key2" parent="." instance=ExtResource("3_lpt01")]
|
|
||||||
|
|
||||||
[node name="LCB_Key3" parent="." instance=ExtResource("4_ud6su")]
|
|
@ -6,7 +6,28 @@ class_name ScreenDoor
|
|||||||
@onready var right_animation_player: AnimationPlayer = $RightAnimationPlayer
|
@onready var right_animation_player: AnimationPlayer = $RightAnimationPlayer
|
||||||
|
|
||||||
|
|
||||||
signal clickLcbSignalAndSent(screenDoor)
|
signal clickLcbSignalAndSent(screenDoor,hasKey)
|
||||||
|
|
||||||
|
## Lcb旋钮的状态枚举
|
||||||
|
enum KNOB_STATE{
|
||||||
|
ISOLATE,# 隔离
|
||||||
|
AUTO,# 自动
|
||||||
|
OPEN,# 开门
|
||||||
|
CLOSE,# 关门
|
||||||
|
}
|
||||||
|
|
||||||
|
class LcbKeyWindow :
|
||||||
|
var keyName: String
|
||||||
|
var keyState:KNOB_STATE
|
||||||
|
func _init(keyName: String, keyState: KNOB_STATE):
|
||||||
|
self.keyName = keyName
|
||||||
|
self.keyState = keyState
|
||||||
|
|
||||||
|
|
||||||
|
var lcbKey = LcbKeyWindow.new('',KNOB_STATE.AUTO)
|
||||||
|
|
||||||
|
func _on_lcb_click() -> void:
|
||||||
|
self.clickLcbSignalAndSent.emit(self)
|
||||||
|
|
||||||
|
|
||||||
## 屏蔽门的状态枚举
|
## 屏蔽门的状态枚举
|
||||||
@ -49,8 +70,3 @@ func _process(delta: float) -> void:
|
|||||||
screenDoorState=Screen_Door_STATE.close
|
screenDoorState=Screen_Door_STATE.close
|
||||||
elif count>2000 :
|
elif count>2000 :
|
||||||
count=0
|
count=0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func _on_lcb_click() -> void:
|
|
||||||
self.clickLcbSignalAndSent.emit(self)
|
|
||||||
|
Loading…
Reference in New Issue
Block a user