extends CanvasLayer @warning_ignore("unused_signal") signal exit(arg) @onready var hover_knife = %"Hover刀" as HoverLightClickArea @onready var hover_note = %"Hover纸条" as HoverLightClickArea # c03_coffin: 0:初始化 1:拿走刀 2:拿走纸条_棺材怪演出 3:演出完成 var coffin_stage := 0 func _ready() -> void: layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME coffin_stage = EventManager.get_stage("c03_coffin") hover_knife.interacted.connect(_on_knife_interacted) hover_note.interacted.connect(_on_note_interacted) if coffin_stage == 0: SceneManager.pop_center_notification("ui_center_notify_c03粘刀把") elif coffin_stage == 1: hover_knife.hide() hover_note.freezing = false elif coffin_stage == 2: hover_knife.hide() hover_note.hide() func _on_knife_interacted() -> void: hover_knife.hide() hover_note.freezing = false EventManager.set_stage("c03_coffin", 1) SceneManager.enable_prop_item("prop_菜刀") SceneManager.disable_prop_item("prop_浆糊") SceneManager.disable_prop_item("prop_刀把") ### TODO 读纸条时,开始准备横版的呼吸声(呼吸声与棺材怪爬墙活动分在两个音频文件) # 退出阅读马上进入横版,出现棺材怪爬墙活动的声音 func _on_note_interacted() -> void: EventManager.set_stage("c03_coffin", 2) hover_note.hide() %"沾血的纸条".show() displaying_bloody_note = true var displaying_bloody_note := false # 0: 刀柄 1: 浆糊 2: 刀把 var knife_state := 0 func _unhandled_input(event: InputEvent) -> void: if event.is_action_pressed("cancel"): get_viewport().set_input_as_handled() SceneManager.reset_temp_disabled_props() exit.emit(displaying_bloody_note) if event.is_action_pressed("interact"): get_viewport().set_input_as_handled() var prop = SceneManager.get_current_prop() var valid = false if knife_state == 0: valid = prop == "prop_浆糊" if valid: knife_state = 1 $"Sfx使用浆糊".play() %"胶水".show() SceneManager.disable_prop_item_temp("prop_浆糊") elif knife_state == 1: valid = prop == "prop_刀把" if valid: knife_state = 2 %"刀有柄".show() SceneManager.disable_prop_item_temp("prop_刀把") hover_knife.freezing = false if not valid: SceneManager.get_prop_hud().on_toggle_invalid_prop()