Add extra debug data to nodevis (#6684)

This commit is contained in:
Leon Friedrich
2022-02-15 23:19:32 +13:00
committed by GitHub
parent 3d5781422c
commit a4aacaef5e
8 changed files with 95 additions and 33 deletions

View File

@@ -33,8 +33,10 @@ namespace Content.Server.NodeContainer.NodeGroups
// In theory, the SS13 curse ensures this method will never be called.
void AfterRemake(IEnumerable<IGrouping<INodeGroup?, Node>> newGroups);
// TODO: Why is this method needed?
void QueueRemake();
/// <summary>
/// Return any additional data to display for the node-visualizer debug overlay.
/// </summary>
string? GetDebugData();
}
[NodeGroup(NodeGroupID.Default, NodeGroupID.WireNet)]
@@ -111,9 +113,9 @@ namespace Content.Server.NodeContainer.NodeGroups
/// <param name="newGroups">A list of new groups for this group's former nodes.</param>
public virtual void AfterRemake(IEnumerable<IGrouping<INodeGroup?, Node>> newGroups) { }
public void QueueRemake()
public virtual string? GetDebugData()
{
EntitySystem.Get<NodeGroupSystem>().QueueRemakeGroup(this);
return null;
}
}
}

View File

@@ -1,16 +1,10 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Content.Server.Atmos;
using Content.Server.Atmos.Components;
using Content.Server.Atmos.EntitySystems;
using Content.Server.NodeContainer.Nodes;
using Content.Shared.Atmos;
using Robust.Shared.GameObjects;
using Robust.Shared.Map;
using Robust.Shared.Maths;
using Robust.Shared.Utility;
using Robust.Shared.ViewVariables;
namespace Content.Server.NodeContainer.NodeGroups
{
@@ -23,7 +17,7 @@ namespace Content.Server.NodeContainer.NodeGroups
}
[NodeGroup(NodeGroupID.Pipe)]
public class PipeNet : BaseNodeGroup, IPipeNet
public sealed class PipeNet : BaseNodeGroup, IPipeNet
{
[ViewVariables] public GasMixture Air { get; set; } = new() {Temperature = Atmospherics.T20C};
@@ -95,5 +89,12 @@ namespace Content.Server.NodeContainer.NodeGroups
DebugTools.AssertNotNull(_atmosphereSystem);
_atmosphereSystem?.RemovePipeNet(this);
}
public override string GetDebugData()
{
return @$"Pressure: { Air.Pressure:G3}
Temperature: {Air.Temperature:G3}
Volume: {Air.Volume:G3}";
}
}
}