Inline Transform
This commit is contained in:
@@ -63,7 +63,7 @@ namespace Content.Server.Power.EntitySystems
|
||||
if (reachable is not CableNode)
|
||||
continue;
|
||||
|
||||
var otherTransform = reachable.Owner.Transform;
|
||||
var otherTransform = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(reachable.Owner.Uid);
|
||||
if (otherTransform.GridID != grid.Index)
|
||||
continue;
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@ namespace Content.Server.Power.EntitySystems
|
||||
if (EntityManager.TryGetComponent<ExtensionCableReceiverComponent>(entity.Uid, out var receiver) &&
|
||||
receiver.Connectable &&
|
||||
receiver.Provider == null &&
|
||||
entity.Transform.Coordinates.TryDistance(IoCManager.Resolve<IEntityManager>(), owner.Transform.Coordinates, out var distance) &&
|
||||
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(entity.Uid).Coordinates.TryDistance(IoCManager.Resolve<IEntityManager>(), IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(owner.Uid).Coordinates, out var distance) &&
|
||||
distance < Math.Min(range, receiver.ReceptionRange))
|
||||
{
|
||||
yield return receiver;
|
||||
@@ -185,7 +185,7 @@ namespace Content.Server.Power.EntitySystems
|
||||
|
||||
if (!provider.Connectable) continue;
|
||||
|
||||
if (!entity.Transform.Coordinates.TryDistance(IoCManager.Resolve<IEntityManager>(), owner.Transform.Coordinates, out var distance)) continue;
|
||||
if (!IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(entity.Uid).Coordinates.TryDistance(IoCManager.Resolve<IEntityManager>(), IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(owner.Uid).Coordinates, out var distance)) continue;
|
||||
|
||||
if (!(distance < Math.Min(range, provider.TransferRange))) continue;
|
||||
|
||||
|
||||
@@ -18,10 +18,10 @@ namespace Content.Server.Power.Nodes
|
||||
var entMan = IoCManager.Resolve<IEntityManager>();
|
||||
|
||||
// If we're in an invalid grid, such as grid 0, we cannot connect to anything.
|
||||
if(!IoCManager.Resolve<IMapManager>().TryGetGrid(Owner.Transform.GridID, out var grid))
|
||||
if(!IoCManager.Resolve<IMapManager>().TryGetGrid(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).GridID, out var grid))
|
||||
yield break;
|
||||
|
||||
var gridIndex = grid.TileIndicesFor(Owner.Transform.Coordinates);
|
||||
var gridIndex = grid.TileIndicesFor(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).Coordinates);
|
||||
|
||||
foreach (var node in NodeHelpers.GetNodesInTile(entMan, grid, gridIndex))
|
||||
{
|
||||
|
||||
@@ -18,8 +18,8 @@ namespace Content.Server.Power.Nodes
|
||||
yield break;
|
||||
|
||||
var entMan = IoCManager.Resolve<IEntityManager>();
|
||||
var grid = IoCManager.Resolve<IMapManager>().GetGrid(Owner.Transform.GridID);
|
||||
var gridIndex = grid.TileIndicesFor(Owner.Transform.Coordinates);
|
||||
var grid = IoCManager.Resolve<IMapManager>().GetGrid(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).GridID);
|
||||
var gridIndex = grid.TileIndicesFor(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).Coordinates);
|
||||
|
||||
// While we go over adjacent nodes, we build a list of blocked directions due to
|
||||
// incoming or outgoing wire terminals.
|
||||
@@ -44,11 +44,11 @@ namespace Content.Server.Power.Nodes
|
||||
if (dir == Direction.Invalid)
|
||||
{
|
||||
// On own tile, block direction it faces
|
||||
terminalDirs |= 1 << (int) node.Owner.Transform.LocalRotation.GetCardinalDir();
|
||||
terminalDirs |= 1 << (int) IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(node.Owner.Uid).LocalRotation.GetCardinalDir();
|
||||
}
|
||||
else
|
||||
{
|
||||
var terminalDir = node.Owner.Transform.LocalRotation.GetCardinalDir();
|
||||
var terminalDir = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(node.Owner.Uid).LocalRotation.GetCardinalDir();
|
||||
if (terminalDir.GetOpposite() == dir)
|
||||
{
|
||||
// Target tile has a terminal towards us, block the direction.
|
||||
|
||||
@@ -12,15 +12,15 @@ namespace Content.Server.Power.Nodes
|
||||
{
|
||||
public override IEnumerable<Node> GetReachableNodes()
|
||||
{
|
||||
if (Owner.Transform.GridID == GridId.Invalid)
|
||||
if (IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).GridID == GridId.Invalid)
|
||||
yield break; // No funny nodes in spess.
|
||||
|
||||
|
||||
var entMan = IoCManager.Resolve<IEntityManager>();
|
||||
var grid = IoCManager.Resolve<IMapManager>().GetGrid(Owner.Transform.GridID);
|
||||
var gridIndex = grid.TileIndicesFor(Owner.Transform.Coordinates);
|
||||
var grid = IoCManager.Resolve<IMapManager>().GetGrid(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).GridID);
|
||||
var gridIndex = grid.TileIndicesFor(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).Coordinates);
|
||||
|
||||
var dir = Owner.Transform.LocalRotation.GetDir();
|
||||
var dir = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).LocalRotation.GetDir();
|
||||
var targetIdx = gridIndex + NodeHelpers.TileOffsetForDir(dir);
|
||||
|
||||
foreach (var node in NodeHelpers.GetNodesInTile(entMan, grid, targetIdx))
|
||||
|
||||
@@ -12,12 +12,12 @@ namespace Content.Server.Power.Nodes
|
||||
{
|
||||
public override IEnumerable<Node> GetReachableNodes()
|
||||
{
|
||||
if (Owner.Transform.GridID == GridId.Invalid)
|
||||
if (IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).GridID == GridId.Invalid)
|
||||
yield break; // No funny nodes in spess.
|
||||
|
||||
var entMan = IoCManager.Resolve<IEntityManager>();
|
||||
var grid = IoCManager.Resolve<IMapManager>().GetGrid(Owner.Transform.GridID);
|
||||
var gridIndex = grid.TileIndicesFor(Owner.Transform.Coordinates);
|
||||
var grid = IoCManager.Resolve<IMapManager>().GetGrid(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).GridID);
|
||||
var gridIndex = grid.TileIndicesFor(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner.Uid).Coordinates);
|
||||
|
||||
var nodes = NodeHelpers.GetCardinalNeighborNodes(entMan, grid, gridIndex, includeSameTile: false);
|
||||
foreach (var (_, node) in nodes)
|
||||
|
||||
Reference in New Issue
Block a user