diff options
| author | metamuffin <metamuffin@disroot.org> | 2024-09-26 17:40:17 +0200 | 
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2024-09-26 17:40:25 +0200 | 
| commit | 9f5c9f8019c56d6904dfff1d18eaed247db5eba6 (patch) | |
| tree | 6d20146c446869b3c2a8b281398e1be4c3550f41 | |
| parent | ef931bc252c9c24c00f677d0e9eb642a1c4a1489 (diff) | |
| download | hurrycurry-9f5c9f8019c56d6904dfff1d18eaed247db5eba6.tar hurrycurry-9f5c9f8019c56d6904dfff1d18eaed247db5eba6.tar.bz2 hurrycurry-9f5c9f8019c56d6904dfff1d18eaed247db5eba6.tar.zst | |
prevent double fade by removing the fade queue; fix #145
| -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(): | 
