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()