From fdcfc92344862137162b554b808af04578a6e854 Mon Sep 17 00:00:00 2001 From: Jan Heemstra Date: Fri, 25 Sep 2020 22:44:06 +0200 Subject: [PATCH] Synchronize gun effects --- Assets/Weapons/Weapon.gd | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/Assets/Weapons/Weapon.gd b/Assets/Weapons/Weapon.gd index caa48c7..f9fa5ba 100644 --- a/Assets/Weapons/Weapon.gd +++ b/Assets/Weapons/Weapon.gd @@ -28,26 +28,32 @@ var tracer = preload("res://Assets/Effects/BulletTracer.tscn") #func _process(delta): # pass -remote func shoot(): +func shoot(): + rpc("show_muzzle_flash") + rpc("show_tracer") + rpc("spawn_casing") + + +sync func show_muzzle_flash(): + $Handgun/AnimationPlayer.stop() + $Handgun/AnimationPlayer.play("Shoot", -1, 2) + $SoundShoot.play() - #print ("Camera location: ", camera.global_transform.origin) - + $MuzzleFlash.emitting = true + + yield(get_tree().create_timer(0.07),"timeout") + + $MuzzleFlash.emitting = false + +sync func show_tracer(): var tracer_instance = tracer.instance() tracer_instance.hide() tracer_instance.global_transform = find_node("Muzzle").global_transform get_tree().root.call_deferred("add_child", tracer_instance) tracer_instance.call_deferred("show") - - $Handgun/AnimationPlayer.stop() - $Handgun/AnimationPlayer.play("Shoot", -1, 2) - - $SoundShoot.play() - - $MuzzleFlash.emitting = true - - yield(get_tree().create_timer(0.05),"timeout") - + +sync func spawn_casing(): var casing_instance = casing.instance() casing_instance.global_transform = ejector.global_transform @@ -56,11 +62,4 @@ remote func shoot(): casing_instance.angular_velocity = - ejector.global_transform.basis[2] * rand_range(23, 37) casing_instance.linear_velocity = ejector.global_transform.basis[0] * rand_range(3.2, 4.5) - ejector.global_transform.basis[2] * rand_range(2.6, 3.7) - get_tree().root.call_deferred("add_child", casing_instance) - - yield(get_tree().create_timer(0.05),"timeout") - - $MuzzleFlash.emitting = false - -