add attack and projectile sfx
This commit is contained in:
@@ -3,7 +3,7 @@ extends AudioStreamPlayer3D
|
||||
@export var _footsteps: FootstepsBank
|
||||
|
||||
var _footsteps_shuffle: ShuffleBag = ShuffleBag.new()
|
||||
var _polyphonic: AudioStreamPlaybackPolyphonic
|
||||
@onready var _polyphonic := get_stream_playback() as AudioStreamPlaybackPolyphonic
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
@@ -11,7 +11,6 @@ func _ready() -> void:
|
||||
return
|
||||
|
||||
_footsteps_shuffle.fill(_footsteps.streams.size())
|
||||
_polyphonic = get_stream_playback() as AudioStreamPlaybackPolyphonic
|
||||
|
||||
|
||||
func play_footstep() -> void:
|
||||
|
||||
@@ -2,11 +2,12 @@ extends AnimationTree
|
||||
|
||||
@export_group("Audio")
|
||||
@export var _hurt_sound: AudioStream
|
||||
@export var _hit_sounds: Array[AudioStream]
|
||||
|
||||
var _speed: float
|
||||
var _has_input: bool
|
||||
|
||||
var _sfx_audio_playback_polyphonic: AudioStreamPlaybackPolyphonic
|
||||
var _queue_hit_sound: bool
|
||||
|
||||
@onready var _player: Player = $"../" as Player
|
||||
@onready var _attack: PlayerAttack = $"../Attack" as PlayerAttack
|
||||
@@ -15,15 +16,17 @@ var _sfx_audio_playback_polyphonic: AudioStreamPlaybackPolyphonic
|
||||
@onready var _sfx_audio_player: AudioStreamPlayer3D = $"../Audio/ScriptSFXPlayer"
|
||||
@onready var _hurt_particles: GPUParticles3D = $"../Effects/HurtParticles"
|
||||
|
||||
@onready var _sfx_audio_playback_polyphonic := (
|
||||
_sfx_audio_player.get_stream_playback() as AudioStreamPlaybackPolyphonic
|
||||
)
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
assert(_player, "_player missing!")
|
||||
Music.track_started.connect(_on_music_track_started)
|
||||
_set_bpm()
|
||||
_attack.attacked.connect(_on_attack_attacked)
|
||||
_sfx_audio_playback_polyphonic = (
|
||||
_sfx_audio_player.get_stream_playback() as AudioStreamPlaybackPolyphonic
|
||||
)
|
||||
_attack.did_hit.connect(_on_attack_did_hit)
|
||||
_player.stats.damaged.connect(_on_stats_damaged)
|
||||
|
||||
|
||||
@@ -55,6 +58,11 @@ func _process(_delta: float) -> void:
|
||||
else:
|
||||
_run_to_idle()
|
||||
|
||||
if _queue_hit_sound:
|
||||
_queue_hit_sound = false
|
||||
for stream in _hit_sounds:
|
||||
_play_sound(stream)
|
||||
|
||||
|
||||
func _is_left() -> bool:
|
||||
return _attack.side == PlayerAttack.Side.LEFT
|
||||
@@ -83,6 +91,10 @@ func _on_attack_attacked() -> void:
|
||||
set(&"parameters/hit_oneshot/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_FIRE)
|
||||
|
||||
|
||||
func _on_attack_did_hit() -> void:
|
||||
_queue_hit_sound = true
|
||||
|
||||
|
||||
func _on_stats_damaged() -> void:
|
||||
_play_sound(_hurt_sound)
|
||||
_hurt_particles.restart()
|
||||
|
||||
Reference in New Issue
Block a user