extends TextureRect @onready var mat := material as ShaderMaterial signal reveal_done signal hide_done # Called when the node enters the scene tree for the first time. func _ready() -> void: #Hiding hide() #Setting up shader randomize() #Noise setup 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 = 1920 noise_tex.height = 1080 noise_tex.seamless = true mat.set_shader_parameter("noise_tex", noise_tex) #Revealing game over in a noise spray func reveal_spray(): show() 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() #hiding game over in a hiding spray 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() hide_done.emit() #Progressing the reveal/hide func set_progress(value: float): mat.set_shader_parameter("progress", value)