Nullable grid Uid (#8798)
This commit is contained in:
@@ -286,7 +286,7 @@ namespace Content.Server.NodeContainer.EntitySystems
|
||||
private BaseNodeGroup InitGroup(Node node, List<Node> groupNodes)
|
||||
{
|
||||
var newGroup = (BaseNodeGroup) _nodeGroupFactory.MakeNodeGroup(node.NodeGroupID);
|
||||
newGroup.Initialize(node);
|
||||
newGroup.Initialize(node, EntityManager);
|
||||
newGroup.NetId = _groupNetIdCounter++;
|
||||
|
||||
var netIdCounter = 0;
|
||||
@@ -335,7 +335,7 @@ namespace Content.Server.NodeContainer.EntitySystems
|
||||
private IEnumerable<Node> GetCompatibleNodes(Node node, EntityQuery<TransformComponent> xformQuery, EntityQuery<NodeContainerComponent> nodeQuery)
|
||||
{
|
||||
var xform = xformQuery.GetComponent(node.Owner);
|
||||
_mapManager.TryGetGrid(xform.GridEntityId, out var grid);
|
||||
_mapManager.TryGetGrid(xform.GridUid, out var grid);
|
||||
|
||||
if (!node.Connectable(EntityManager, xform))
|
||||
yield break;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System.Linq;
|
||||
using Content.Server.NodeContainer.Nodes;
|
||||
using Robust.Shared.Map;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
namespace Content.Server.NodeContainer.NodeGroups
|
||||
{
|
||||
@@ -19,7 +20,7 @@ namespace Content.Server.NodeContainer.NodeGroups
|
||||
|
||||
void Create(NodeGroupID groupId);
|
||||
|
||||
void Initialize(Node sourceNode);
|
||||
void Initialize(Node sourceNode, IEntityManager? entMan = null);
|
||||
|
||||
void RemoveNode(Node node);
|
||||
|
||||
@@ -72,10 +73,14 @@ namespace Content.Server.NodeContainer.NodeGroups
|
||||
GroupId = groupId;
|
||||
}
|
||||
|
||||
public virtual void Initialize(Node sourceNode)
|
||||
public virtual void Initialize(Node sourceNode, IEntityManager? entMan = null)
|
||||
{
|
||||
// TODO: Can we get rid of this GridId?
|
||||
GridId = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(sourceNode.Owner).GridEntityId;
|
||||
IoCManager.Resolve(ref entMan);
|
||||
|
||||
var xform = entMan.GetComponent<TransformComponent>(sourceNode.Owner);
|
||||
DebugTools.AssertNotNull(xform.GridUid);
|
||||
GridId = xform.GridUid!.Value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -24,9 +24,9 @@ namespace Content.Server.NodeContainer.NodeGroups
|
||||
|
||||
public EntityUid Grid => GridId;
|
||||
|
||||
public override void Initialize(Node sourceNode)
|
||||
public override void Initialize(Node sourceNode, IEntityManager? entMan = null)
|
||||
{
|
||||
base.Initialize(sourceNode);
|
||||
base.Initialize(sourceNode, entMan);
|
||||
|
||||
_atmosphereSystem = EntitySystem.Get<AtmosphereSystem>();
|
||||
_atmosphereSystem.AddPipeNet(this);
|
||||
|
||||
Reference in New Issue
Block a user