using Robust.Shared.GameObjects; using Robust.Shared.Map; using Robust.Shared.Player; namespace Robust.Shared.Audio { /// /// Common interface for the Audio System, which is used to play sounds on clients. /// public interface IAudioSystem { /// /// Used in the PAS to designate the physics collision mask of occluders. /// int OcclusionCollisionMask { get; set; } /// /// Play an audio file globally, without position. /// /// The set of players that will hear the sound. /// The resource path to the OGG Vorbis file to play. /// Audio parameters to apply when playing the sound. IPlayingAudioStream? Play(Filter playerFilter, string filename, AudioParams? audioParams = null); /// /// Play an audio file following an entity. /// /// The set of players that will hear the sound. /// The resource path to the OGG Vorbis file to play. /// The UID of the entity "emitting" the audio. /// Audio parameters to apply when playing the sound. IPlayingAudioStream? Play(Filter playerFilter, string filename, EntityUid uid, AudioParams? audioParams = null); /// /// Play an audio file at a static position. /// /// The set of players that will hear the sound. /// The resource path to the OGG Vorbis file to play. /// The coordinates at which to play the audio. /// Audio parameters to apply when playing the sound. IPlayingAudioStream? Play(Filter playerFilter, string filename, EntityCoordinates coordinates, AudioParams? audioParams = null); } }