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 = false var shaven_key_name = "Closeup囚室墙洞海报" func _ready() -> void: layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME shaven = ArchiveManager.get_global_value(shaven_key_name, false) hole_btn.pressed.connect(_on_hole_pressed) if shaven: _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) ArchiveManager.set_global_entry(shaven_key_name, true) 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()