Puddles & spreader refactor (#15191)

This commit is contained in:
metalgearsloth
2023-04-10 15:37:03 +10:00
committed by GitHub
parent 3178ab83f6
commit 317a4013eb
141 changed files with 3046 additions and 3201 deletions

View File

@@ -0,0 +1,31 @@
using Content.Server.NodeContainer.NodeGroups;
using Content.Server.NodeContainer.Nodes;
namespace Content.Server.Spreader;
[NodeGroup(NodeGroupID.Spreader)]
public sealed class SpreaderNodeGroup : BaseNodeGroup
{
private IEntityManager _entManager = default!;
/// <inheritdoc/>
public override void Initialize(Node sourceNode, IEntityManager entMan)
{
base.Initialize(sourceNode, entMan);
_entManager = entMan;
}
/// <inheritdoc/>
public override void RemoveNode(Node node)
{
base.RemoveNode(node);
foreach (var neighborNode in node.ReachableNodes)
{
if (_entManager.Deleted(neighborNode.Owner))
continue;
_entManager.EnsureComponent<EdgeSpreaderComponent>(neighborNode.Owner);
}
}
}