using System.Collections; using System.Collections.Generic; using UnityEngine; /// /// Simple implementation of a MonoBehaviour that is able to request a sound being played by the AudioManager. /// It fires an event on an AudioCueEventSO which acts as a channel, that the AudioManager will pick up and play. /// public class AudioCue : MonoBehaviour { [Header("Sound definition")] [SerializeField] private AudioCueSO _audioCue = default; [SerializeField] private bool _playOnStart = false; [Header("Configuration")] [SerializeField] private AudioCueEventChannelSO _audioCueEventChannel = default; [SerializeField] private AudioConfigurationSO _audioConfiguration = default; private void Start() { if (_playOnStart) PlayAudioCue(); } public void PlayAudioCue() { _audioCueEventChannel.RaiseEvent(_audioCue, _audioConfiguration, transform.position); } }