// -------------------------------------------------------------------------------------------------------------------- // // Copyright (c) VRMADA, All rights reserved. // // -------------------------------------------------------------------------------------------------------------------- using System.Collections.Generic; using UltimateXR.Avatar; using UnityEngine; namespace UltimateXR.Networking { /// /// Interface for classes that implement network voice transmission functionality. /// public interface IUxrNetworkVoiceImplementation : IUxrNetworkSdk { #region Public Types & Data /// /// Gets the compatible networking SDKs that this voice implementation can work with. /// IEnumerable CompatibleNetworkSDKs { get; } #endregion #region Public Methods /// /// Adds global support for the SDK if necessary, by adding required GameObjects and/or components to the /// or the scene where it is located. /// /// /// The networking SDK that is used. Since a voice implementation might support more than one /// networking SDK, this parameter tells which networking SDK is currently selected /// /// The network manager /// Returns a list of GameObjects that were created, if any /// Returns a list of components that were created, if any void SetupGlobal(string networkingSdk, UxrNetworkManager networkManager, out List newGameObjects, out List newComponents); /// /// Adds network voice functionality to an . /// /// /// The networking SDK that is used. Since a voice implementation might support more than one /// networking SDK, this parameter tells which networking SDK is currently selected /// /// The avatar to add voice functionality to /// Returns a list of GameObjects that were created, if any /// Returns a list of components that were created, if any void SetupAvatar(string networkingSdk, UxrAvatar avatar, out List newGameObjects, out List newComponents); #endregion } }