var ent = _currentRunAtmosphere[_currentRunAtmosphereIndex];
var (owner, atmosphere, visuals, grid, xform) = ent;
- if (!TryComp(owner, out TransformComponent? x)
- || x.MapUid == null
- || TerminatingOrDeleted(x.MapUid.Value)
- || x.MapID == MapId.Nullspace)
+ if (xform.MapUid == null
+ || TerminatingOrDeleted(xform.MapUid.Value)
+ || xform.MapID == MapId.Nullspace)
{
- Log.Error($"Attempted to process atmos without a map? Entity: {ToPrettyString(owner)}. Map: {ToPrettyString(x?.MapUid)}. MapId: {x?.MapID}");
+ Log.Error($"Attempted to process atmos without a map? Entity: {ToPrettyString(owner)}. Map: {ToPrettyString(xform?.MapUid)}. MapId: {xform?.MapID}");
- || !EntityManager.TryGetComponent(uid, out NodeContainerComponent? nodeContainer)
- || !EntityManager.TryGetComponent(uid, out AtmosDeviceComponent? device)
- || !_nodeContainer.TryGetNode(nodeContainer, filter.InletName, out PipeNode? inletNode)
- || !_nodeContainer.TryGetNode(nodeContainer, filter.FilterName, out PipeNode? filterNode)
- || !_nodeContainer.TryGetNode(nodeContainer, filter.OutletName, out PipeNode? outletNode)
+ || !_nodeContainer.TryGetNodes(uid, filter.InletName, filter.OutletName, filter.FilterName, out PipeNode? inletNode, out PipeNode? filterNode, out PipeNode? outletNode)
|| outletNode.Air.Pressure >= Atmospherics.MaxOutputPressure) // No need to transfer if target is full.
// TODO ATMOS: Cache total moles since it's expensive.
- if (!mixer.Enabled)
- {
- _ambientSoundSystem.SetAmbience(uid, false);
- return;
- }
-
- if (!EntityManager.TryGetComponent(uid, out NodeContainerComponent? nodeContainer))
- return;
-
- if (!_nodeContainer.TryGetNode(nodeContainer, mixer.InletOneName, out PipeNode? inletOne)
- || !_nodeContainer.TryGetNode(nodeContainer, mixer.InletTwoName, out PipeNode? inletTwo)
- || !_nodeContainer.TryGetNode(nodeContainer, mixer.OutletName, out PipeNode? outlet))
+ if (!mixer.Enabled
+ || !_nodeContainer.TryGetNodes(uid, mixer.InletOneName, mixer.InletTwoName, mixer.OutletName, out PipeNode? inletOne, out PipeNode? inletTwo, out PipeNode? outlet))
- if (!EntityManager.TryGetComponent(uid, out NodeContainerComponent? nodeContainer)
- || !EntityManager.TryGetComponent(uid, out AtmosDeviceComponent? device)
- || !_nodeContainer.TryGetNode(nodeContainer, comp.InletName, out PipeNode? inletNode)
- || !_nodeContainer.TryGetNode(nodeContainer, comp.ControlName, out PipeNode? controlNode)
- || !_nodeContainer.TryGetNode(nodeContainer, comp.OutletName, out PipeNode? outletNode))
+ if (!_nodeContainer.TryGetNodes(uid, comp.InletName, comp.ControlName, comp.OutletName, out PipeNode? inletNode, out PipeNode? controlNode, out PipeNode? outletNode))