removes componentdependencies (#6160)

This commit is contained in:
Paul Ritter
2022-01-15 03:26:37 +01:00
committed by GitHub
parent 46405ec165
commit 9e1607722d
33 changed files with 257 additions and 274 deletions

View File

@@ -1,6 +1,7 @@
using System;
using System.Threading;
using Content.Server.Administration.Logs;
using Content.Server.Power.Components;
using Content.Server.Power.EntitySystems;
using Content.Server.Projectiles.Components;
using Content.Server.Singularity.Components;
@@ -94,7 +95,7 @@ namespace Content.Server.Singularity.EntitySystems
public void SwitchOff(EmitterComponent component)
{
component.IsOn = false;
if (component.PowerConsumer != null) component.PowerConsumer.DrawRate = 0;
if (TryComp<PowerConsumerComponent>(component.Owner, out var powerConsumer)) powerConsumer.DrawRate = 0;
PowerOff(component);
UpdateAppearance(component);
}
@@ -102,7 +103,7 @@ namespace Content.Server.Singularity.EntitySystems
public void SwitchOn(EmitterComponent component)
{
component.IsOn = true;
if (component.PowerConsumer != null) component.PowerConsumer.DrawRate = component.PowerUseActive;
if (TryComp<PowerConsumerComponent>(component.Owner, out var powerConsumer)) powerConsumer.DrawRate = component.PowerUseActive;
// Do not directly PowerOn().
// OnReceivedPowerChanged will get fired due to DrawRate change which will turn it on.
UpdateAppearance(component);
@@ -149,7 +150,8 @@ namespace Content.Server.Singularity.EntitySystems
// and thus not firing
DebugTools.Assert(component.IsPowered);
DebugTools.Assert(component.IsOn);
DebugTools.Assert(component.PowerConsumer != null && (component.PowerConsumer.DrawRate <= component.PowerConsumer.ReceivedPower));
DebugTools.Assert(TryComp<PowerConsumerComponent>(component.Owner, out var powerConsumer) &&
powerConsumer.DrawRate <= powerConsumer.ReceivedPower);
Fire(component);
@@ -205,7 +207,7 @@ namespace Content.Server.Singularity.EntitySystems
private void UpdateAppearance(EmitterComponent component)
{
if (component.Appearance == null)
if (!TryComp<AppearanceComponent>(component.Owner, out var appearanceComponent))
{
return;
}
@@ -224,7 +226,7 @@ namespace Content.Server.Singularity.EntitySystems
state = EmitterVisualState.Off;
}
component.Appearance.SetData(EmitterVisuals.VisualState, state);
appearanceComponent.SetData(EmitterVisuals.VisualState, state);
}
}
}