using System.Collections.Generic; using Content.Server.NodeContainer.Nodes; using Robust.Shared.GameObjects; using Robust.Shared.IoC; using Robust.Shared.Map; using Robust.Shared.Serialization.Manager.Attributes; namespace Content.Server.Power.Nodes { [DataDefinition] public class CableTerminalPortNode : Node { public override IEnumerable GetReachableNodes() { var entMan = IoCManager.Resolve(); var grid = IoCManager.Resolve().GetGrid(Owner.Transform.GridID); var gridIndex = grid.TileIndicesFor(Owner.Transform.Coordinates); var nodes = NodeHelpers.GetCardinalNeighborNodes(entMan, grid, gridIndex, includeSameTile: false); foreach (var (_, node) in nodes) { if (node is CableTerminalNode) yield return node; } } } }