extends CanvasLayer @warning_ignore("unused_signal") signal exit(arg) @onready var sfx_newspaper = $"Sfx折起报纸" as Sfx @onready var hover_key = %"HoverLight钥匙" as HoverLightClickArea @onready var hover_handle = %"HoverLight刀柄" as HoverLightClickArea @onready var drag_newspaper = %"报纸展开" as Draggable2D @onready var drag_wizardpaper = %"符纸" as Draggable2D func _ready() -> void: layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME drag_wizardpaper.picked.connect(func(_a): SceneManager.enable_prop_item("prop_符纸") ) drag_newspaper.picked.connect(func(_a): sfx_newspaper.play() drag_newspaper.hide() ) # 使用 event binder 控制道具状态 hover_key.interacted.connect(func(): _on_prop_picked("prop_2013钥匙") ) hover_handle.interacted.connect(func(): _on_prop_picked("prop_刀把") ) func _on_prop_picked(prop_key: String) -> void: SceneManager.enable_prop_item(prop_key) # 当两个道具都拿到时,触发被胖子打晕演出 if ( (prop_key == "prop_2013钥匙" and EventManager.get_stage(&"c03_s06_hole_knife_handle") > 0) or (prop_key == "prop_刀把" and EventManager.get_stage(&"c03_s06_hole_key") > 0) ): await SceneManager.get_inspector().quit_and_hidden # TODO SceneManager.pop_debug_dialog_info("美术&音效", "背后响起画外音「偷东西?」; 被胖子打晕演出") await Util.wait(0.5) Util.shake_layer(self, 2.0, 0.5, 4.0) await Util.wait(3.0) # 画面抖动变红,玩家被打晕,画面变黑 $AnimationPlayer.play("bleeding_red") Util.shake_layer(self, 1.0) await Util.wait(1.0) SceneManager.get_ground_loader().transition_to_scene("c03_s08", "1")