using Code.Audio; using Reflex.Attributes; using UnityEngine; namespace Code.Gameplay.Enemies { public class EnemyAudio : MonoBehaviour { private IAudioService _audioService; private IAudioFactory _audioFactory; [SerializeField] private AudioSource _audioSource; [SerializeField] private EnemiesSounds stepId; [Inject] private void Construct(IAudioService audioService, IAudioFactory audioFactory) { _audioService = audioService; _audioSource = audioService.GetSourceOfGroup(Audio.AudioType.Enemies); _audioSource.transform.position = transform.position; _audioSource.spatialBlend = 1f; _audioFactory = audioFactory; } public void PlayStep() { _audioSource.transform.position = transform.position; _audioSource.PlayOneShot(_audioFactory.EnemiesAudios[(int)stepId]); } private void OnDestroy() { _audioService.ReleaseSourceOfGroup(_audioSource); } } }