extends CanvasLayer @warning_ignore("unused_signal") signal exit(success: bool) @export var required_ratio := 0.6 @onready var flyer = %"刮刮乐" @onready var sfx = %"Sfx撕海报" @onready var hole_btn = %"墙洞Button" as TextureButton @onready var behind_the_hole = %"囚室鱼眼景深镜头" var shaven_stage = 0 var shaven_key_name = "c03_prison_flyer" func _ready() -> void: layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME shaven_stage = EventManager.get_stage(shaven_key_name) hole_btn.pressed.connect(_on_hole_pressed) if shaven_stage > 0: _setup_on_shaven_finished() else: flyer.key_area_shaven.connect(_on_key_area_shaven) SceneManager.pop_center_notification("ui_left_mouse_shave") var exiting = false func _on_key_area_shaven(progress: float): if exiting: return if progress >= required_ratio: exiting = true print("key_area 刮开 %s 以上!" % required_ratio) EventManager.set_stage(shaven_key_name, 1) sfx.global_play() var tween = create_tween() tween.tween_property(flyer, "modulate:a", 0.0, 1.0) tween.tween_callback(_setup_on_shaven_finished) func _setup_on_shaven_finished() -> void: flyer.queue_free() func _on_hole_pressed() -> void: behind_the_hole.display() follow_viewport_enabled = true # func _unhandled_input(event: InputEvent) -> void: # if event.is_action_pressed("cancel") and behind_the_hole.visible: # behind_the_hole.visible = false # get_viewport().set_input_as_handled()