using System.Collections.Generic;
using UnityEngine;
// ReSharper disable once CheckNamespace
namespace DarkTonic.MasterAudio {
// ReSharper disable once CheckNamespace
///
/// This interface is used by EventSounds and can be implemented on your custom classes to listen for Custom Events that are fired.
///
public interface ICustomEventReceiver {
// this interface is used to "listen" to custom events that MasterAudio transmits.
///
/// This checks for events that are not found in MasterAudio. It's a good idea to call this in Start (Awake is too early), and save yourself some troubleshooting time! Optional
///
void CheckForIllegalCustomEvents();
///
/// This receives the event when it's fired.
///
void ReceiveEvent(string customEventName, Vector3 originPoint);
///
/// This returns a bool of whether the specified custom event is subscribed to in this class
///
bool SubscribesToEvent(string customEventName);
///
/// Registers the receiver with MasterAudio. Call this in OnEnable
///
void RegisterReceiver();
///
/// Unregisters the receiver with MasterAudio. Call this in OnDisable
///
void UnregisterReceiver();
///
/// Retrieves a list of all the events this receiver subscribes to
///
IList GetAllEvents();
}
}