25 lines
577 B
GDScript
25 lines
577 B
GDScript
class_name OwniverseEffectsPlayer
|
|
extends AudioStreamPlayer
|
|
|
|
var enabled: bool = true
|
|
var _effects: Dictionary = OwniverseAudioLoader.get_effects()
|
|
|
|
|
|
func set_enabled(value: bool) -> void:
|
|
enabled = value
|
|
stream_paused = not enabled
|
|
|
|
|
|
func play_effect(effect_id: String) -> bool:
|
|
if not enabled:
|
|
return false
|
|
if not _effects.has(effect_id):
|
|
push_warning("Unknown sound effect: " + effect_id)
|
|
return false
|
|
if playing and stream == _effects[effect_id]:
|
|
return false
|
|
|
|
stream = _effects[effect_id]
|
|
play()
|
|
return true
|