| 12345678910111213141516171819202122232425262728293031323334353637 |
- using Content.Server.NodeContainer;
- using Content.Server.NodeContainer.Nodes;
- using Robust.Shared.Map;
- using Robust.Shared.Map.Components;
- namespace Content.Server.Power.Nodes
- {
- [DataDefinition]
- public sealed partial class CableTerminalNode : CableDeviceNode
- {
- public override IEnumerable<Node> GetReachableNodes(TransformComponent xform,
- EntityQuery<NodeContainerComponent> nodeQuery,
- EntityQuery<TransformComponent> xformQuery,
- MapGridComponent? grid,
- IEntityManager entMan)
- {
- if (!xform.Anchored || grid == null)
- yield break;
- var gridIndex = grid.TileIndicesFor(xform.Coordinates);
- var dir = xform.LocalRotation.GetDir();
- var targetIdx = gridIndex.Offset(dir);
- foreach (var node in NodeHelpers.GetNodesInTile(nodeQuery, grid, targetIdx))
- {
- if (node is CableTerminalPortNode)
- yield return node;
- }
- foreach (var node in base.GetReachableNodes(xform, nodeQuery, xformQuery, grid, entMan))
- {
- yield return node;
- }
- }
- }
- }
|