extends CanvasLayer signal exit(success: bool) signal shaven_fulfilled @export var exit_on_shaven_fulfilled := true @export var required_ratio := 0.6 @onready var flyer = $"刮刮乐" @onready var sfx = $"Sfx撕海报" var shaven = false func _ready() -> void: shaven = ArchiveManager.get_global_value(name, false) layer = GlobalConfig.CANVAS_LAYER_LITTLE_GAME if shaven: flyer.queue_free() return flyer.shaven.connect(_on_shaven) SceneManager.pop_center_notification("ui_left_mouse_shave") if exit_on_shaven_fulfilled: shaven_fulfilled.connect(exit.emit.bind(true)) var exiting = false func _on_shaven(progress: float): if exiting: return if progress >= required_ratio: exiting = true print("刮开 %s 以上!" % required_ratio) ArchiveManager.set_global_entry(name, true) sfx.global_play() var tween = create_tween() tween.tween_property(flyer, "modulate:a", 0.0, 1.0) tween.tween_callback(shaven_fulfilled.emit) # elif GlobalConfig.DEBUG: # print("刮开进度:", progress)