Correcting how we handle the volume state and UI when users leave and rejoin lobbies, to prevent stale values from persisting and to prevent the initial UI state for a user entering a lobby from being incorrect if they were previously in a lobby.
[Tooltip("This is shown for other players, to mute them.")]
privateGameObjectm_muteIcon;
publicboolIsLocalPlayer{privateget;set;}
publicvoidEnableVoice()
[SerializeField]
privateSliderm_volumeSlider;
[SerializeField]
privateTogglem_muteToggle;
/// <param name="shouldResetUi">
/// When the user is being added, we want the UI to reset to the default values.
/// (We don't do this if the user is already in the lobby so that the previous values are retained. E.g. If they're too loud and volume was lowered, keep it lowered on reenable.)
/// When the user leaves the lobby (but not if they just lose voice access for some reason, e.g. device disconnect), reset state to the default values.
/// (We can't just do this during Enable since it could cause Vivox to have a state conflict during participant add.)