using System; using System.Collections.Generic; namespace Adrenak.UniVoice { /// /// Audio server interface. /// The implementation of this class is generally based on some networking /// framework such as Mirror, FishNet, Unity Netcode, etc. /// /// /// The identifier data type used by the framework you're using in your implementation. /// For example, Mirror identifies players using int. So, a MirrorAudioClient class /// that implements this interface would be MirrorAudioServer : IAudioServer /// public interface IAudioServer : IDisposable { /// /// Event fired when the server starts /// event Action OnServerStart; /// /// Event fired when the server stops /// event Action OnServerStop; /// /// Event fired when the peer voice settings are updated /// event Action OnClientVoiceSettingsUpdated; /// /// IDs of all the clients in the voice chat /// List ClientIDs { get; } /// /// of every client connected to the server /// Dictionary ClientVoiceSettings { get; } } }