Add ToggleOutline cvar and console command (#1185)
Co-authored-by: scuffedjays <yetanotherscuffed@gmail.com>
This commit is contained in:
24
Content.Client/Commands/ToggleOutlineCommand.cs
Normal file
24
Content.Client/Commands/ToggleOutlineCommand.cs
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
using Robust.Client.Interfaces.Console;
|
||||||
|
using Robust.Shared.Interfaces.Configuration;
|
||||||
|
using Robust.Shared.IoC;
|
||||||
|
|
||||||
|
namespace Content.Client.Commands
|
||||||
|
{
|
||||||
|
public class ToggleOutlineCommand : IConsoleCommand
|
||||||
|
{
|
||||||
|
public string Command => "toggleoutline";
|
||||||
|
|
||||||
|
public string Description => "Toggles outline drawing on entities.";
|
||||||
|
|
||||||
|
public string Help => "";
|
||||||
|
|
||||||
|
public bool Execute(IDebugConsole console, params string[] args)
|
||||||
|
{
|
||||||
|
var _configurationManager = IoCManager.Resolve<IConfigurationManager>();
|
||||||
|
var old = _configurationManager.GetCVar<bool>("outline.enabled");
|
||||||
|
_configurationManager.SetCVar("outline.enabled", !old);
|
||||||
|
console.AddLine($"Draw outlines set to: {_configurationManager.GetCVar<bool>("outline.enabled")}");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -24,6 +24,7 @@ using Robust.Client.Interfaces.Input;
|
|||||||
using Robust.Client.Interfaces.State;
|
using Robust.Client.Interfaces.State;
|
||||||
using Robust.Client.Player;
|
using Robust.Client.Player;
|
||||||
using Robust.Shared.ContentPack;
|
using Robust.Shared.ContentPack;
|
||||||
|
using Robust.Shared.Interfaces.Configuration;
|
||||||
using Robust.Shared.Interfaces.GameObjects;
|
using Robust.Shared.Interfaces.GameObjects;
|
||||||
using Robust.Shared.Interfaces.Map;
|
using Robust.Shared.Interfaces.Map;
|
||||||
using Robust.Shared.IoC;
|
using Robust.Shared.IoC;
|
||||||
@@ -41,6 +42,7 @@ namespace Content.Client
|
|||||||
[Dependency] private readonly IEscapeMenuOwner _escapeMenuOwner;
|
[Dependency] private readonly IEscapeMenuOwner _escapeMenuOwner;
|
||||||
[Dependency] private readonly IGameController _gameController;
|
[Dependency] private readonly IGameController _gameController;
|
||||||
[Dependency] private readonly IStateManager _stateManager;
|
[Dependency] private readonly IStateManager _stateManager;
|
||||||
|
[Dependency] private readonly IConfigurationManager _configurationManager;
|
||||||
#pragma warning restore 649
|
#pragma warning restore 649
|
||||||
|
|
||||||
public override void Init()
|
public override void Init()
|
||||||
@@ -223,6 +225,8 @@ namespace Content.Client
|
|||||||
{
|
{
|
||||||
IoCManager.Resolve<IMapManager>().CreateNewMapEntity(MapId.Nullspace);
|
IoCManager.Resolve<IMapManager>().CreateNewMapEntity(MapId.Nullspace);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
_configurationManager.RegisterCVar("outline.enabled", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ using Robust.Client.Interfaces.UserInterface;
|
|||||||
using Robust.Client.Player;
|
using Robust.Client.Player;
|
||||||
using Robust.Shared.GameObjects;
|
using Robust.Shared.GameObjects;
|
||||||
using Robust.Shared.Input;
|
using Robust.Shared.Input;
|
||||||
|
using Robust.Shared.Interfaces.Configuration;
|
||||||
using Robust.Shared.Interfaces.GameObjects;
|
using Robust.Shared.Interfaces.GameObjects;
|
||||||
using Robust.Shared.Interfaces.Map;
|
using Robust.Shared.Interfaces.Map;
|
||||||
using Robust.Shared.Interfaces.Timing;
|
using Robust.Shared.Interfaces.Timing;
|
||||||
@@ -36,6 +37,8 @@ namespace Content.Client.State
|
|||||||
[Dependency] private readonly IGameTiming _timing;
|
[Dependency] private readonly IGameTiming _timing;
|
||||||
[Dependency] private readonly IMapManager _mapManager;
|
[Dependency] private readonly IMapManager _mapManager;
|
||||||
[Dependency] private readonly IUserInterfaceManager _userInterfaceManager;
|
[Dependency] private readonly IUserInterfaceManager _userInterfaceManager;
|
||||||
|
|
||||||
|
[Dependency] private readonly IConfigurationManager _configurationManager;
|
||||||
#pragma warning restore 649
|
#pragma warning restore 649
|
||||||
|
|
||||||
private IEntity _lastHoveredEntity;
|
private IEntity _lastHoveredEntity;
|
||||||
@@ -72,6 +75,15 @@ namespace Content.Client.State
|
|||||||
}
|
}
|
||||||
|
|
||||||
InteractionOutlineComponent outline;
|
InteractionOutlineComponent outline;
|
||||||
|
if(!_configurationManager.GetCVar<bool>("outline.enabled"))
|
||||||
|
{
|
||||||
|
if(entityToClick != null && entityToClick.TryGetComponent(out outline))
|
||||||
|
{
|
||||||
|
outline.OnMouseLeave(); //Prevent outline remains from persisting post command.
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (entityToClick == _lastHoveredEntity)
|
if (entityToClick == _lastHoveredEntity)
|
||||||
{
|
{
|
||||||
if (entityToClick != null && entityToClick.TryGetComponent(out outline))
|
if (entityToClick != null && entityToClick.TryGetComponent(out outline))
|
||||||
|
|||||||
Reference in New Issue
Block a user