diff options
Diffstat (limited to 'client/menu')
-rw-r--r-- | client/menu/scene_transition.gd | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/client/menu/scene_transition.gd b/client/menu/scene_transition.gd index b30897aa..a10fccfd 100644 --- a/client/menu/scene_transition.gd +++ b/client/menu/scene_transition.gd @@ -19,36 +19,35 @@ extends Control @onready var anim: AnimationPlayer = $AnimationPlayer -var black = true +var s_current = false +var s_target = false var fading = false -var queue = [] - func _ready(): $ColorRect.visible = true func next(): - if fading: return - if queue.is_empty(): return + while fading: await anim.animation_finished + if s_target == s_current: return fading = true - if queue.pop_front(): + if s_target: anim.play_backwards("fade") await anim.animation_finished self.mouse_filter = Control.MOUSE_FILTER_IGNORE - black = false + s_current = true else: self.mouse_filter = Control.MOUSE_FILTER_STOP anim.play("fade") await anim.animation_finished - black = false + s_current = false fading = false await next() func fade_in(): - queue.push_back(true) + s_target = true await next() func fade_out(): - queue.push_back(false) + s_target = false await next() func _exit_tree(): |