Add device linking to emitter and APE (#16805)

This commit is contained in:
0x6273
2023-05-28 08:44:28 +02:00
committed by GitHub
parent 7594dabe14
commit 7a5a64ffb4
7 changed files with 160 additions and 44 deletions

View File

@@ -25,14 +25,25 @@ namespace Content.Server.Singularity
var entityManager = IoCManager.Resolve<IEntityManager>();
var entitySystemManager = IoCManager.Resolve<IEntitySystemManager>();
foreach (var comp in entityManager.EntityQuery<EmitterComponent>())
// Turn on emitters
var emitterQuery = entityManager.EntityQueryEnumerator<EmitterComponent>();
var emitterSystem = entitySystemManager.GetEntitySystem<EmitterSystem>();
while (emitterQuery.MoveNext(out var uid, out var emitterComponent))
{
entitySystemManager.GetEntitySystem<EmitterSystem>().SwitchOn(comp);
//FIXME: This turns on ALL emitters, including APEs. It should only turn on the containment field emitters.
emitterSystem.SwitchOn(uid, emitterComponent);
}
foreach (var comp in entityManager.EntityQuery<RadiationCollectorComponent>())
// Turn on radiation collectors
var radiationCollectorQuery = entityManager.EntityQueryEnumerator<RadiationCollectorComponent>();
var radiationCollectorSystem = entitySystemManager.GetEntitySystem<RadiationCollectorSystem>();
while (radiationCollectorQuery.MoveNext(out var uid, out var radiationCollectorComponent))
{
entitySystemManager.GetEntitySystem<RadiationCollectorSystem>().SetCollectorEnabled(comp.Owner, true, null, comp);
radiationCollectorSystem.SetCollectorEnabled(uid, enabled: true, user: null, radiationCollectorComponent);
}
// Setup PA
foreach (var comp in entityManager.EntityQuery<ParticleAcceleratorControlBoxComponent>())
{
comp.RescanParts();