Laying groundwork for fixing hit/kill confirmation

legacy
unfa 2021-04-11 23:28:07 +02:00
parent 9fb3da561c
commit 05b18a1b96
4 changed files with 20 additions and 9 deletions

View File

@ -1,7 +1,8 @@
[gd_scene load_steps=3 format=2]
[gd_scene load_steps=4 format=2]
[ext_resource path="res://Classes/UI/HitConfirmation.gd" type="Script" id=1]
[ext_resource path="res://Assets/Audio/SFX/UI-HitConfirmation.wav" type="AudioStream" id=2]
[ext_resource path="res://Assets/Audio/SFX/UI_Confirm_Hit.wav" type="AudioStream" id=2]
[ext_resource path="res://Assets/Audio/SFX/UI_Confirm_Kill.wav" type="AudioStream" id=3]
[node name="CrosshairContainer" type="CenterContainer"]
anchor_left = 0.5
@ -76,6 +77,9 @@ script = ExtResource( 1 )
[node name="HitConfirmationSound" type="AudioStreamPlayer" parent="HitConfirmation"]
stream = ExtResource( 2 )
[node name="KillConfirmationSound" type="AudioStreamPlayer" parent="HitConfirmation"]
stream = ExtResource( 3 )
[node name="Line1" type="ColorRect" parent="HitConfirmation"]
margin_left = 8.0
margin_top = -1.0

View File

@ -7,7 +7,9 @@ func updateHealth(health: int):
$Health/HealthBar.value = health
$Health/HealthBar/HealthText.text = String(health)
func update_crosshair(visible: bool, hit: bool):
func update_crosshair(visible: bool, hit: bool, kill: bool):
$Crosshair.visible = visible
if hit:
$Crosshair/HitConfirmation.activate(0.2)
$Crosshair/HitConfirmation.activate(0.15, false)
elif kill:
$Crosshair/HitConfirmation.activate(0.3, true)

View File

@ -1,12 +1,16 @@
extends Control
onready var sound = $HitConfirmationSound
onready var hit_sound = $HitConfirmationSound
onready var kill_sound = $KillConfirmationSound
var remaining_time = -10.0
func activate(time):
func activate(time, kill = false):
remaining_time = time
sound.play()
if kill:
kill_sound.play()
else:
hit_sound.play()
func _process(delta):
remaining_time -= delta

View File

@ -1,6 +1,6 @@
extends Spatial
signal damage_dealt
signal damage_dealt(kill)
signal ammo_changed(type, amount)
export(bool) var Hitscan = false
@ -66,7 +66,8 @@ func shoot(camera):
hit.rpc("on_hit", 30, result.position)
if hit is Player:
emit_signal("damage_dealt")
var kill = hit.health <= 0
emit_signal("damage_dealt", kill)
print(player.get_network_master())
else:
reload()