xiandie/scene/ground/script/c02/刮海报.gd
2025-07-09 23:04:08 +08:00

42 lines
1023 B
GDScript

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)