using Robust.Client.Audio;
using Robust.Client.GameObjects;
using Robust.Client.Graphics;
using Robust.Client.Player;
using Robust.Client.ResourceManagement;
using Robust.Shared.Console;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
namespace Robust.Client.Commands;
///
/// Shows a debug overlay for audio sources.
///
public sealed partial class ShowAudioCommand : LocalizedCommands
{
[Dependency] private IResourceCache _client = default!;
[Dependency] private IEntityManager _entManager = default!;
[Dependency] private IOverlayManager _overlayManager = default!;
[Dependency] private IPlayerManager _playerMgr = default!;
public override string Command => "showaudio";
public override void Execute(IConsoleShell shell, string argStr, string[] args)
{
if (_overlayManager.HasOverlay())
_overlayManager.RemoveOverlay();
else
_overlayManager.AddOverlay(new AudioOverlay(
_entManager,
_playerMgr,
_client,
_entManager.System(),
_entManager.System()));
}
}