Little NodeContainer ECS (#17702)
This commit is contained in:
@@ -14,6 +14,7 @@ namespace Content.Server.Power.EntitySystems
|
||||
{
|
||||
[Dependency] private readonly IMapManager _mapManager = default!;
|
||||
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
|
||||
[Dependency] private readonly NodeContainerSystem _nodeContainer = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
@@ -24,10 +25,10 @@ namespace Content.Server.Power.EntitySystems
|
||||
|
||||
private void UpdateAppearance(EntityUid uid, CableVisComponent cableVis, ref NodeGroupsRebuilt args)
|
||||
{
|
||||
if (cableVis.Node == null)
|
||||
if (!TryComp(uid, out NodeContainerComponent? nodeContainer) || !TryComp(uid, out AppearanceComponent? appearance))
|
||||
return;
|
||||
|
||||
if (!TryComp(uid, out NodeContainerComponent? nodeContainer) || !TryComp(uid, out AppearanceComponent? appearance))
|
||||
if (!_nodeContainer.TryGetNode<CableNode>(nodeContainer, cableVis.Node, out var node))
|
||||
return;
|
||||
|
||||
var transform = Transform(uid);
|
||||
@@ -36,7 +37,6 @@ namespace Content.Server.Power.EntitySystems
|
||||
|
||||
var mask = WireVisDirFlags.None;
|
||||
var tile = grid.TileIndicesFor(transform.Coordinates);
|
||||
var node = nodeContainer.GetNode<CableNode>(cableVis.Node);
|
||||
|
||||
foreach (var reachable in node.ReachableNodes)
|
||||
{
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using Content.Shared.Power;
|
||||
using Content.Server.NodeContainer;
|
||||
using Content.Server.NodeContainer.EntitySystems;
|
||||
using Content.Server.NodeContainer.Nodes;
|
||||
using Content.Server.Power.Components;
|
||||
using Content.Server.Power.NodeGroups;
|
||||
@@ -14,8 +15,8 @@ internal sealed class PowerMonitoringConsoleSystem : EntitySystem
|
||||
private float _updateTimer = 0.0f;
|
||||
private const float UpdateTime = 1.0f;
|
||||
|
||||
[Dependency]
|
||||
private UserInterfaceSystem _userInterfaceSystem = default!;
|
||||
[Dependency] private UserInterfaceSystem _userInterfaceSystem = default!;
|
||||
[Dependency] private readonly NodeContainerSystem _nodeContainer = default!;
|
||||
|
||||
public override void Update(float frameTime)
|
||||
{
|
||||
@@ -48,7 +49,10 @@ internal sealed class PowerMonitoringConsoleSystem : EntitySystem
|
||||
return new PowerMonitoringConsoleEntry(md.EntityName, prototype, rate, isBattery);
|
||||
}
|
||||
// Right, so, here's what needs to be considered here.
|
||||
var netQ = ncComp.GetNode<Node>("hv").NodeGroup as PowerNet;
|
||||
if (!_nodeContainer.TryGetNode<Node>(ncComp, "hv", out var node))
|
||||
return;
|
||||
|
||||
var netQ = node.NodeGroup as PowerNet;
|
||||
if (netQ != null)
|
||||
{
|
||||
foreach (PowerConsumerComponent pcc in netQ.Consumers)
|
||||
|
||||
Reference in New Issue
Block a user