20 lines
452 B
GDScript
20 lines
452 B
GDScript
extends AudioStreamPlayer3D
|
|
|
|
@export var _footsteps: FootstepsBank
|
|
|
|
var _footsteps_shuffle: ShuffleBag = ShuffleBag.new()
|
|
var _polyphonic: AudioStreamPlaybackPolyphonic
|
|
|
|
|
|
func _ready() -> void:
|
|
if not _footsteps:
|
|
return
|
|
|
|
_footsteps_shuffle.fill(_footsteps.streams.size())
|
|
_polyphonic = get_stream_playback() as AudioStreamPlaybackPolyphonic
|
|
|
|
|
|
func play_footstep() -> void:
|
|
|
|
_polyphonic.play_stream(_footsteps.streams[_footsteps_shuffle.take()])
|