34 lines
1.0 KiB
C#
34 lines
1.0 KiB
C#
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 = 0;
|
|
_audioFactory = audioFactory;
|
|
}
|
|
|
|
public void PlayStep()
|
|
{
|
|
_audioSource.transform.position = transform.position;
|
|
_audioSource.PlayOneShot(_audioFactory.EnemiesAudios[(int)stepId]);
|
|
}
|
|
private void OnDestroy()
|
|
{
|
|
_audioService.ReleaseSourceOfGroup(_audioSource);
|
|
}
|
|
}
|
|
} |