add damage sound and normalize footsteps
This commit is contained in:
@@ -1,18 +1,29 @@
|
||||
extends AnimationTree
|
||||
|
||||
@export_group("Audio")
|
||||
@export var _hurt_sound: AudioStream
|
||||
|
||||
var _speed: float
|
||||
var _has_input: bool
|
||||
|
||||
var _sfx_audio_playback_polyphonic: AudioStreamPlaybackPolyphonic
|
||||
|
||||
@onready var _player: Player = $"../" as Player
|
||||
@onready var _attack: PlayerAttack = $"../Attack" as PlayerAttack
|
||||
@onready var _bone_flipper: BoneFlipper = $"../Model/Armature/Skeleton3D/BoneFlipper"
|
||||
|
||||
@onready var _sfx_audio_player: AudioStreamPlayer3D = $"../Audio/ScriptSFXPlayer"
|
||||
|
||||
|
||||
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
|
||||
)
|
||||
_player.stats.damaged.connect(_on_stats_damaged)
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
@@ -48,6 +59,10 @@ func _is_left() -> bool:
|
||||
return _attack.side == PlayerAttack.Side.LEFT
|
||||
|
||||
|
||||
func _play_sound(stream: AudioStream) -> void:
|
||||
_sfx_audio_playback_polyphonic.play_stream(stream)
|
||||
|
||||
|
||||
func _set_bpm() -> void:
|
||||
set(&"parameters/main_time_scale/scale", Music.bpm_factor)
|
||||
|
||||
@@ -67,5 +82,9 @@ func _on_attack_attacked() -> void:
|
||||
set(&"parameters/hit_oneshot/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_FIRE)
|
||||
|
||||
|
||||
func _on_stats_damaged() -> void:
|
||||
_play_sound(_hurt_sound)
|
||||
|
||||
|
||||
func _on_music_track_started() -> void:
|
||||
_set_bpm()
|
||||
|
||||
Reference in New Issue
Block a user