Added audio component
This commit is contained in:
27
client/player/audio/AudioComponent.gd
Normal file
27
client/player/audio/AudioComponent.gd
Normal file
@ -0,0 +1,27 @@
|
||||
class_name AudioComponent
|
||||
extends Node
|
||||
|
||||
@export var movement: MovementComponent
|
||||
@export var footsteps: Array[AudioStream]
|
||||
@export var interval: float = 0.3
|
||||
|
||||
var audio_player: AudioStreamPlayer3D
|
||||
var last_footstep: float
|
||||
|
||||
func _ready():
|
||||
audio_player = $Footsteps
|
||||
|
||||
func _process(_delta):
|
||||
if Time.get_unix_time_from_system() - last_footstep < interval:
|
||||
return
|
||||
|
||||
if movement.direction == Vector3.ZERO:
|
||||
return
|
||||
|
||||
if !movement.body.is_on_floor():
|
||||
return
|
||||
|
||||
audio_player.stream = footsteps[randi_range(0, footsteps.size()-1)]
|
||||
audio_player.pitch_scale = randf_range(0.9, 1.1)
|
||||
audio_player.play()
|
||||
last_footstep = Time.get_unix_time_from_system()
|
Reference in New Issue
Block a user