using Content.Server.NodeContainer; using Content.Server.NodeContainer.Nodes; using Robust.Shared.Map; namespace Content.Server.Power.Nodes { /// /// Type of node that connects to a below it. /// [DataDefinition] [Virtual] public class CableDeviceNode : Node { public override IEnumerable GetReachableNodes(TransformComponent xform, EntityQuery nodeQuery, EntityQuery xformQuery, IMapGrid? grid, IEntityManager entMan) { if (!xform.Anchored || grid == null) yield break; var gridIndex = grid.TileIndicesFor(xform.Coordinates); foreach (var node in NodeHelpers.GetNodesInTile(nodeQuery, grid, gridIndex)) { if (node is CableNode) yield return node; } } } }