extends CanvasLayer @onready var bg = $BG as TextureRect signal exit(success: bool) func _ready() -> void: layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME # 两张纸钱点击事件 %"Draggable纸钱1".picked.connect(_on_paper_coin_picked, CONNECT_ONE_SHOT) %"Draggable纸钱2".picked.connect(_on_paper_coin_picked, CONNECT_ONE_SHOT) %"HoverBraid".interacted.connect(_on_braid_interacted, CONNECT_ONE_SHOT) _check_if_notify_to_use_prop() # 如果用过剪刀,则直接展示后脑勺 # 0:初始化 1:已使用剪刀 2:已剪下 if EventManager.get_stage("c03_s03_laizi_braid") > 0: $"头".hide() $"头受伤".hide() func _on_paper_coin_picked(_node = null) -> void: if GlobalFunctor.c03_get_paper_coin(): await SceneManager.get_inspector().quit_and_hidden _check_if_notify_to_use_prop() func _on_braid_interacted() -> void: var closeup = get_parent() as Closeup2D # 禁用 cancel to quit closeup.hold_cancel_before_exit() SceneManager.enable_prop_item("prop_剪下的辫子") await SceneManager.get_inspector().quit_and_hidden await Util.wait(1.0) # 退出,播放剪辫子演出 exit.emit(true) func _check_if_notify_to_use_prop() -> void: if EventManager.get_stage("c03_s03_papercoin1") > 0 and EventManager.get_stage("c03_s03_papercoin2") > 0: if EventManager.get_stage("c03_s03_laizi_braid") > 0: return elif SceneManager.has_prop("prop_剪刀"): SceneManager.pop_center_notification("ui_center_notify_use_prop") else: SceneManager.pop_center_notification("ui_center_notify_lack_of_prop") func _unhandled_input(event: InputEvent) -> void: if event.is_action_pressed("interact"): get_viewport().set_input_as_handled() _try_interact() var using_scissors = false # 尝试使用剪刀进行互动 func _try_interact() -> void: # 纸钱还没拿完 if EventManager.get_stage("c03_s03_papercoin1") == 0 or EventManager.get_stage("c03_s03_papercoin2") == 0: return if SceneManager.get_current_prop() != "prop_剪刀": SceneManager.get_prop_hud().on_toggle_invalid_prop() return if using_scissors: return using_scissors = true # TODO SceneManager.pop_debug_dialog_info("音效", "使用剪刀(惊悚)") $"头".hide() await Util.wait(1.5) $"头受伤".hide() SceneManager.disable_prop_item("prop_剪刀") EventManager.set_stage("c03_s03_laizi_braid", 1)