0 votes

Hi I try to separate one signal "animation_finished" but now they are connected in the same signal and I can not prioritize the animation can someone help me? please that will be appreciate :)

function 1 :

func shoot():
if ammo !=0:
        ammo-=1
        emit_signal("ammo_changed",ammo *150/max_ammo)

        can_shoot = false
        $timer.start()

        $Player/anime.play("shoot")#prioritize the reload animation if the player was already shooting

        $Player/pewpewpew.play()
        var pew = pewSCN.instance()
        get_parent().add_child(pew)

        pew.position =$Player/Position2D.global_position
        pew.rotation = $Player/Position2D.global_rotation

function 2 :

func reload_true():

$Player/anime.play("reload")
yield($Player/anime,"animation_finished")#more impotant than shoot animation
reloading =false 
ammo=max_ammo
emit_signal("ammo_changed",ammo *150/max_ammo)

animation finished function :

func onanimeanimationfinished():
isattacking = false#it actually in the player script not in the level script
can
shoot =true

and finaly a short video to see the problem
the video

in Engine by (77 points)

Please log in or register to answer this question.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.