Adds command to show wires.

This commit is contained in:
Pieter-Jan Briers
2020-04-20 09:44:21 +02:00
parent 65f5f71a39
commit dcd8070a08
2 changed files with 47 additions and 1 deletions

View File

@@ -1,3 +1,4 @@
using Content.Client.GameObjects.EntitySystems;
using Content.Client.Interfaces; using Content.Client.Interfaces;
using Content.Shared.GameObjects.Components.Markers; using Content.Shared.GameObjects.Components.Markers;
using Robust.Client.Interfaces.Console; using Robust.Client.Interfaces.Console;
@@ -38,6 +39,24 @@ namespace Content.Client.Commands
} }
} }
internal sealed class ShowWiresCommand : IConsoleCommand
{
// ReSharper disable once StringLiteralTypo
public string Command => "showwires";
public string Description => "Makes wires always visible.";
public string Help => "";
public bool Execute(IDebugConsole console, params string[] args)
{
IoCManager.Resolve<IEntitySystemManager>()
.GetEntitySystem<SubFloorHideSystem>()
.EnableAll ^= true;
return false;
}
}
internal sealed class NotifyCommand : IConsoleCommand internal sealed class NotifyCommand : IConsoleCommand
{ {
public string Command => "notify"; public string Command => "notify";

View File

@@ -6,6 +6,7 @@ using Robust.Shared.GameObjects.Systems;
using Robust.Shared.Interfaces.Map; using Robust.Shared.Interfaces.Map;
using Robust.Shared.IoC; using Robust.Shared.IoC;
using Robust.Shared.Map; using Robust.Shared.Map;
using Robust.Shared.ViewVariables;
namespace Content.Client.GameObjects.EntitySystems namespace Content.Client.GameObjects.EntitySystems
{ {
@@ -14,11 +15,37 @@ namespace Content.Client.GameObjects.EntitySystems
/// </summary> /// </summary>
internal sealed class SubFloorHideSystem : EntitySystem internal sealed class SubFloorHideSystem : EntitySystem
{ {
private bool _enableAll;
#pragma warning disable 649 #pragma warning disable 649
[Dependency] private readonly IMapManager _mapManager; [Dependency] private readonly IMapManager _mapManager;
[Dependency] private readonly ITileDefinitionManager _tileDefinitionManager; [Dependency] private readonly ITileDefinitionManager _tileDefinitionManager;
#pragma warning restore 649 #pragma warning restore 649
[ViewVariables(VVAccess.ReadWrite)]
public bool EnableAll
{
get => _enableAll;
set
{
_enableAll = value;
UpdateAll();
}
}
private void UpdateAll()
{
foreach (var comp in EntityManager.ComponentManager.GetAllComponents<SubFloorHideComponent>())
{
var gridId = comp.Owner.Transform.GridID;
var grid = _mapManager.GetGrid(gridId);
var snapPos = comp.Owner.GetComponent<SnapGridComponent>();
UpdateTile(grid, snapPos.Position);
}
}
public override void Initialize() public override void Initialize()
{ {
base.Initialize(); base.Initialize();
@@ -64,7 +91,7 @@ namespace Content.Client.GameObjects.EntitySystems
continue; continue;
} }
spriteComponent.Visible = !subFloorComponent.Running || tileDef.IsSubFloor; spriteComponent.Visible = EnableAll || !subFloorComponent.Running || tileDef.IsSubFloor;
} }
} }
} }