Files
Princesse-Lactose-Godot/HUD/hud.gd
Thomas Lavocat 5678bd8c55 niveau/transitions: shader de transition
Entre les niveaux et à la mort il y a maintenant un fondu au noir qui se
met en place pour éviter d'avoir la gerbe sur les mouvements de caméra.
la physique est en pause pendant la transition.
2023-05-11 08:53:46 +02:00

54 lines
1.2 KiB
GDScript

class_name HUD extends CanvasLayer
@onready var gauge1 := $FartGauge1 as FartGauge
@onready var gauge2 := $FartGauge2 as FartGauge
@onready var gauge3 := $FartGauge3 as FartGauge
@onready var shader := $TransitionShader
signal fart_reloaded()
signal screen_is_black()
signal screen_is_ready()
var cheese_number = 0
var gauges = []
func _ready() -> void:
gauge1.connect("reload_done", cheese_loaded)
gauge2.connect("reload_done", cheese_loaded)
gauge3.connect("reload_done", cheese_loaded)
gauges = [gauge1, gauge2, gauge3]
func reset():
cheese_number = 0
for gauge in gauges:
gauge.reset()
func load_cheese():
for gauge in gauges:
if gauge.load_cheese():
return
func dash_fart():
for x in gauges.size():
var gauge = gauges[-x-1]
if gauge.dash_fart():
return
func cheese_loaded():
fart_reloaded.emit()
func begin_scene_transition():
print("start scene transition")
shader.fade_out()
func end_scene_transition():
print("end scene transition")
shader.fade_in()
func _on_transition_shader_fade_in_done() -> void:
screen_is_ready.emit()
func _on_transition_shader_fade_out_done() -> void:
screen_is_black.emit()