extends TextureRect @onready var mat := material as ShaderMaterial signal reveal_done signal hide_done func _ready(): randomize() # --- Création du bruit --- var noise := FastNoiseLite.new() noise.noise_type = FastNoiseLite.TYPE_SIMPLEX noise.frequency = 20.0 noise.seed = randi() var noise_tex := NoiseTexture2D.new() noise_tex.noise = noise noise_tex.width = 512 noise_tex.height = 512 noise_tex.seamless = true mat.set_shader_parameter("noise_tex", noise_tex) func reveal_spray(): mat.set_shader_parameter("progress", 0.0) var tween = create_tween() tween.tween_method(set_progress, 0.0, 1.0, 3.0) \ .set_trans(Tween.TRANS_SINE) \ .set_ease(Tween.EASE_OUT) await tween.finished reveal_done.emit() func hide_spray(): mat.set_shader_parameter("progress", 1.0) var tween = create_tween() tween.tween_method(set_progress, 1.0, 0.0, 3.0) \ .set_trans(Tween.TRANS_SINE) \ .set_ease(Tween.EASE_OUT) await tween.finished hide_done.emit() func set_progress(value: float): mat.set_shader_parameter("progress", value)