Raise power events by ref and not broadcast (#11923)

Also some other minor stuff.
This commit is contained in:
metalgearsloth
2022-10-15 15:08:15 +11:00
committed by GitHub
parent 920fde469d
commit 0b38589728
40 changed files with 89 additions and 80 deletions

View File

@@ -47,7 +47,7 @@ namespace Content.Server.AME
}
}
private static void OnAMEPowerChange(EntityUid uid, AMEControllerComponent component, PowerChangedEvent args)
private static void OnAMEPowerChange(EntityUid uid, AMEControllerComponent component, ref PowerChangedEvent args)
{
component.UpdateUserInterface();
}

View File

@@ -34,7 +34,7 @@ namespace Content.Server.Advertise
RefreshTimer(uid, true, advertise);
}
private void OnPowerChanged(EntityUid uid, AdvertiseComponent advertise, PowerChangedEvent args)
private void OnPowerChanged(EntityUid uid, AdvertiseComponent advertise, ref PowerChangedEvent args)
{
SetEnabled(uid, args.Powered, advertise);
}

View File

@@ -10,7 +10,7 @@ public sealed partial class ArcadeSystem
SubscribeLocalEvent<BlockGameArcadeComponent, PowerChangedEvent>(OnBlockPowerChanged);
}
private static void OnBlockPowerChanged(EntityUid uid, BlockGameArcadeComponent component, PowerChangedEvent args)
private static void OnBlockPowerChanged(EntityUid uid, BlockGameArcadeComponent component, ref PowerChangedEvent args)
{
component.OnPowerStateChanged(args);
}

View File

@@ -10,7 +10,7 @@ public sealed partial class ArcadeSystem
SubscribeLocalEvent<SpaceVillainArcadeComponent, PowerChangedEvent>(OnSVillainPower);
}
private void OnSVillainPower(EntityUid uid, SpaceVillainArcadeComponent component, PowerChangedEvent args)
private void OnSVillainPower(EntityUid uid, SpaceVillainArcadeComponent component, ref PowerChangedEvent args)
{
component.OnPowerStateChanged(args);
}

View File

@@ -195,7 +195,7 @@ public sealed class AirAlarmSystem : EntitySystem
UpdateUI(uid, component);
}
private void OnPowerChanged(EntityUid uid, AirAlarmComponent component, PowerChangedEvent args)
private void OnPowerChanged(EntityUid uid, AirAlarmComponent component, ref PowerChangedEvent args)
{
if (args.Powered)
{

View File

@@ -56,7 +56,7 @@ public sealed class AtmosAlarmableSystem : EntitySystem
false);
}
private void OnPowerChange(EntityUid uid, AtmosAlarmableComponent component, PowerChangedEvent args)
private void OnPowerChange(EntityUid uid, AtmosAlarmableComponent component, ref PowerChangedEvent args)
{
if (!args.Powered)
{

View File

@@ -142,7 +142,7 @@ public sealed class AtmosMonitorSystem : EntitySystem
}
}
private void OnPowerChangedEvent(EntityUid uid, AtmosMonitorComponent component, PowerChangedEvent args)
private void OnPowerChangedEvent(EntityUid uid, AtmosMonitorComponent component, ref PowerChangedEvent args)
{
if (TryComp<AtmosDeviceComponent>(uid, out var atmosDeviceComponent))
{

View File

@@ -173,7 +173,7 @@ namespace Content.Server.Atmos.Piping.Unary.EntitySystems
UpdateState(uid, component);
}
private void OnPowerChanged(EntityUid uid, GasVentPumpComponent component, PowerChangedEvent args)
private void OnPowerChanged(EntityUid uid, GasVentPumpComponent component, ref PowerChangedEvent args)
{
component.Enabled = args.Powered;
UpdateState(uid, component);

View File

@@ -138,7 +138,7 @@ namespace Content.Server.Atmos.Piping.Unary.EntitySystems
UpdateState(uid, component);
}
private void OnPowerChanged(EntityUid uid, GasVentScrubberComponent component, PowerChangedEvent args)
private void OnPowerChanged(EntityUid uid, GasVentScrubberComponent component, ref PowerChangedEvent args)
{
component.Enabled = args.Powered;
UpdateState(uid, component);

View File

@@ -104,7 +104,7 @@ namespace Content.Server.Atmos.Portable
UpdateDrainingAppearance(uid, portableNode.ConnectionsEnabled);
}
private void OnPowerChanged(EntityUid uid, PortableScrubberComponent component, PowerChangedEvent args)
private void OnPowerChanged(EntityUid uid, PortableScrubberComponent component, ref PowerChangedEvent args)
{
UpdateAppearance(uid, component.Full, args.Powered);
component.Enabled = args.Powered;

View File

@@ -13,7 +13,7 @@ namespace Content.Server.Audio
SubscribeLocalEvent<AmbientOnPoweredComponent, PowerNetBatterySupplyEvent>(HandlePowerSupply);
}
private void HandlePowerSupply(EntityUid uid, AmbientOnPoweredComponent component, PowerNetBatterySupplyEvent args)
private void HandlePowerSupply(EntityUid uid, AmbientOnPoweredComponent component, ref PowerNetBatterySupplyEvent args)
{
if (!EntityManager.TryGetComponent<AmbientSoundComponent>(uid, out var ambientSound)) return;
if (ambientSound.Enabled == args.Supply) return;
@@ -21,7 +21,7 @@ namespace Content.Server.Audio
Dirty(ambientSound);
}
private void HandlePowerChange(EntityUid uid, AmbientOnPoweredComponent component, PowerChangedEvent args)
private void HandlePowerChange(EntityUid uid, AmbientOnPoweredComponent component, ref PowerChangedEvent args)
{
if (!EntityManager.TryGetComponent<AmbientSoundComponent>(uid, out var ambientSound)) return;
if (ambientSound.Enabled == args.Powered) return;

View File

@@ -106,7 +106,7 @@ namespace Content.Server.Bed
RaiseLocalEvent(args.BuckledEntity, metabolicEvent, false);
}
private void OnPowerChanged(EntityUid uid, StasisBedComponent component, PowerChangedEvent args)
private void OnPowerChanged(EntityUid uid, StasisBedComponent component, ref PowerChangedEvent args)
{
UpdateAppearance(uid, args.Powered);
UpdateMetabolisms(uid, component, args.Powered);

View File

@@ -109,7 +109,7 @@ public sealed partial class CargoSystem
appearance?.SetData(CargoTelepadVisuals.State, CargoTelepadState.Unpowered);
}
private void OnTelepadPowerChange(EntityUid uid, CargoTelepadComponent component, PowerChangedEvent args)
private void OnTelepadPowerChange(EntityUid uid, CargoTelepadComponent component, ref PowerChangedEvent args)
{
SetEnabled(component);
}

View File

@@ -59,7 +59,7 @@ namespace Content.Server.Cloning.Systems
UpdateUserInterface(consoleComponent);
}
private void OnPowerChanged(EntityUid uid, CloningConsoleComponent component, PowerChangedEvent args)
private void OnPowerChanged(EntityUid uid, CloningConsoleComponent component, ref PowerChangedEvent args)
{
UpdateUserInterface(component);
}

View File

@@ -31,7 +31,7 @@ public sealed partial class ConstructionSystem
CreateComputerBoard(component);
}
private void OnCompPowerChange(EntityUid uid, ComputerComponent component, PowerChangedEvent args)
private void OnCompPowerChange(EntityUid uid, ComputerComponent component, ref PowerChangedEvent args)
{
if (TryComp<AppearanceComponent>(uid, out var appearance))
{

View File

@@ -303,7 +303,7 @@ namespace Content.Server.Disease
/// <summary>
/// Makes sure the machine is visually off/on.
/// </summary>
private void OnPowerChanged(EntityUid uid, DiseaseMachineComponent component, PowerChangedEvent args)
private void OnPowerChanged(EntityUid uid, DiseaseMachineComponent component, ref PowerChangedEvent args)
{
UpdateAppearance(uid, args.Powered, false);
}

View File

@@ -319,7 +319,7 @@ namespace Content.Server.Disposal.Unit.EntitySystems
RemComp<ActiveDisposalUnitComponent>(uid);
}
private void HandlePowerChange(EntityUid uid, DisposalUnitComponent component, PowerChangedEvent args)
private void HandlePowerChange(EntityUid uid, DisposalUnitComponent component, ref PowerChangedEvent args)
{
if (!component.Running)
return;

View File

@@ -30,7 +30,7 @@ namespace Content.Server.Doors.Systems
SubscribeLocalEvent<AirlockComponent, BeforeDoorPryEvent>(OnDoorPry);
}
private void OnPowerChanged(EntityUid uid, AirlockComponent component, PowerChangedEvent args)
private void OnPowerChanged(EntityUid uid, AirlockComponent component, ref PowerChangedEvent args)
{
if (TryComp<AppearanceComponent>(uid, out var appearanceComponent))
{

View File

@@ -266,7 +266,7 @@ namespace Content.Server.Kitchen.EntitySystems
UpdateUserInterfaceState(uid, component);
}
private void OnPowerChanged(EntityUid uid, MicrowaveComponent component, PowerChangedEvent args)
private void OnPowerChanged(EntityUid uid, MicrowaveComponent component, ref PowerChangedEvent args)
{
if (!args.Powered)
{

View File

@@ -34,7 +34,7 @@ namespace Content.Server.Kitchen.EntitySystems
SubscribeLocalEvent<ReagentGrinderComponent, ComponentInit>(OnComponentInit);
SubscribeLocalEvent<ReagentGrinderComponent, ComponentRemove>(OnComponentRemove);
SubscribeLocalEvent<ReagentGrinderComponent, PowerChangedEvent>((_, component, _) => EnqueueUiUpdate(component));
SubscribeLocalEvent<ReagentGrinderComponent, PowerChangedEvent>(OnPowerChange);
SubscribeLocalEvent<ReagentGrinderComponent, InteractUsingEvent>(OnInteractUsing);
SubscribeLocalEvent<StackComponent, ExtractableScalingEvent>(ExtractableScaling);
@@ -43,6 +43,11 @@ namespace Content.Server.Kitchen.EntitySystems
SubscribeLocalEvent<ReagentGrinderComponent, ContainerIsRemovingAttemptEvent>(OnEntRemoveAttempt);
}
private void OnPowerChange(EntityUid uid, ReagentGrinderComponent component, ref PowerChangedEvent args)
{
EnqueueUiUpdate(component);
}
private void OnEntRemoveAttempt(EntityUid uid, ReagentGrinderComponent component, ContainerIsRemovingAttemptEvent args)
{
if (component.Busy)

View File

@@ -243,7 +243,7 @@ namespace Content.Server.Lathe
_appearance.SetData(uid, LatheVisuals.InsertingColor, color);
}
private void OnPowerChanged(EntityUid uid, LatheComponent component, PowerChangedEvent args)
private void OnPowerChanged(EntityUid uid, LatheComponent component, ref PowerChangedEvent args)
{
if (!args.Powered)
{

View File

@@ -34,7 +34,7 @@ namespace Content.Server.Light.EntitySystems
SubscribeLocalEvent<EmergencyLightComponent, PowerChangedEvent>(OnEmergencyPower);
}
private void OnEmergencyPower(EntityUid uid, EmergencyLightComponent component, PowerChangedEvent args)
private void OnEmergencyPower(EntityUid uid, EmergencyLightComponent component, ref PowerChangedEvent args)
{
UpdateState(component);
}

View File

@@ -14,7 +14,7 @@ namespace Content.Server.Light.EntitySystems
SubscribeLocalEvent<LitOnPoweredComponent, PowerNetBatterySupplyEvent>(OnPowerSupply);
}
private void OnPowerChanged(EntityUid uid, LitOnPoweredComponent component, PowerChangedEvent args)
private void OnPowerChanged(EntityUid uid, LitOnPoweredComponent component, ref PowerChangedEvent args)
{
if (EntityManager.TryGetComponent<PointLightComponent>(uid, out var light))
{
@@ -22,7 +22,7 @@ namespace Content.Server.Light.EntitySystems
}
}
private void OnPowerSupply(EntityUid uid, LitOnPoweredComponent component, PowerNetBatterySupplyEvent args)
private void OnPowerSupply(EntityUid uid, LitOnPoweredComponent component, ref PowerNetBatterySupplyEvent args)
{
if (EntityManager.TryGetComponent<PointLightComponent>(uid, out var light))
{

View File

@@ -347,7 +347,7 @@ namespace Content.Server.Light.EntitySystems
args.Handled = true;
}
private void OnPowerChanged(EntityUid uid, PoweredLightComponent component, PowerChangedEvent args)
private void OnPowerChanged(EntityUid uid, PoweredLightComponent component, ref PowerChangedEvent args)
{
UpdateLight(uid, component);
}

View File

@@ -10,7 +10,7 @@ public sealed partial class ParticleAcceleratorSystem
SubscribeLocalEvent<ParticleAcceleratorControlBoxComponent, PowerChangedEvent>(OnControlBoxPowerChange);
}
private static void OnControlBoxPowerChange(EntityUid uid, ParticleAcceleratorControlBoxComponent component, PowerChangedEvent args)
private static void OnControlBoxPowerChange(EntityUid uid, ParticleAcceleratorControlBoxComponent component, ref PowerChangedEvent args)
{
component.OnPowerStateChanged(args);
}

View File

@@ -13,7 +13,7 @@ namespace Content.Server.ParticleAccelerator.EntitySystems
private static void PowerBoxReceivedChanged(
EntityUid uid,
ParticleAcceleratorPowerBoxComponent component,
PowerConsumerReceivedChanged args)
ref PowerConsumerReceivedChanged args)
{
component.Master?.PowerBoxReceivedChanged(args);
}

View File

@@ -87,7 +87,7 @@ namespace Content.Server.Physics.Controllers
}
}
private void OnPowerChanged(EntityUid uid, ConveyorComponent component, PowerChangedEvent args)
private void OnPowerChanged(EntityUid uid, ConveyorComponent component, ref PowerChangedEvent args)
{
UpdateAppearance(component);
}

View File

@@ -71,15 +71,10 @@ namespace Content.Server.Power.Components
/// <summary>
/// Raised whenever an ApcPowerReceiver becomes powered / unpowered.
/// </summary>
public sealed class PowerChangedEvent : EntityEventArgs
[ByRefEvent]
public readonly record struct PowerChangedEvent(bool Powered, float ReceivingPower)
{
public readonly bool Powered;
public readonly float ReceivingPower;
public PowerChangedEvent(bool powered, float receivingPower)
{
Powered = powered;
ReceivingPower = receivingPower;
}
public readonly bool Powered = Powered;
public readonly float ReceivingPower = ReceivingPower;
}
}

View File

@@ -28,7 +28,7 @@ namespace Content.Server.Power.EntitySystems
args.Cancel();
}
private void OnPowerChanged(EntityUid uid, ActivatableUIRequiresPowerComponent component, PowerChangedEvent args)
private void OnPowerChanged(EntityUid uid, ActivatableUIRequiresPowerComponent component, ref PowerChangedEvent args)
{
if (!args.Powered)
_activatableUISystem.CloseAll(uid);

View File

@@ -47,7 +47,7 @@ internal sealed class ChargerSystem : EntitySystem
_itemSlotsSystem.RemoveItemSlot(uid, component.ChargerSlot);
}
private void OnPowerChanged(EntityUid uid, ChargerComponent component, PowerChangedEvent args)
private void OnPowerChanged(EntityUid uid, ChargerComponent component, ref PowerChangedEvent args)
{
component.UpdateStatus();
}

View File

@@ -5,6 +5,7 @@ using Content.Server.Power.NodeGroups;
using Content.Server.Power.Pow3r;
using JetBrains.Annotations;
using Content.Shared.Power;
using Robust.Server.GameObjects;
namespace Content.Server.Power.EntitySystems
{
@@ -14,6 +15,8 @@ namespace Content.Server.Power.EntitySystems
[UsedImplicitly]
public sealed class PowerNetSystem : EntitySystem
{
[Dependency] private readonly AppearanceSystem _appearance = default!;
private readonly PowerState _powerState = new();
private readonly HashSet<PowerNet> _powerNetReconnectQueue = new();
private readonly HashSet<ApcNet> _apcNetReconnectQueue = new();
@@ -247,23 +250,24 @@ namespace Content.Server.Power.EntitySystems
continue;
apcReceiver.PoweredLastUpdate = powered;
var ev = new PowerChangedEvent(apcReceiver.Powered, apcReceiver.NetworkLoad.ReceivingPower);
RaiseLocalEvent(apcReceiver.Owner, new PowerChangedEvent(apcReceiver.Powered, apcReceiver.NetworkLoad.ReceivingPower), true);
RaiseLocalEvent(apcReceiver.Owner, ref ev);
if (appearanceQuery.TryGetComponent(apcReceiver.Owner, out var appearance))
appearance.SetData(PowerDeviceVisuals.Powered, powered);
_appearance.SetData(appearance.Owner, PowerDeviceVisuals.Powered, powered, appearance);
}
foreach (var consumer in EntityManager.EntityQuery<PowerConsumerComponent>())
{
var newRecv = consumer.NetworkLoad.ReceivingPower;
ref var lastRecv = ref consumer.LastReceived;
if (!MathHelper.CloseToPercent(lastRecv, newRecv))
{
if (MathHelper.CloseToPercent(lastRecv, newRecv))
continue;
lastRecv = newRecv;
var msg = new PowerConsumerReceivedChanged(newRecv, consumer.DrawRate);
RaiseLocalEvent(consumer.Owner, msg, true);
}
RaiseLocalEvent(consumer.Owner, ref msg);
}
foreach (var powerNetBattery in EntityManager.EntityQuery<PowerNetworkBatteryComponent>())
@@ -273,11 +277,13 @@ namespace Content.Server.Power.EntitySystems
if (lastSupply == 0f && currentSupply != 0f)
{
RaiseLocalEvent(powerNetBattery.Owner, new PowerNetBatterySupplyEvent {Supply = true}, true);
var ev = new PowerNetBatterySupplyEvent(true);
RaiseLocalEvent(powerNetBattery.Owner, ref ev);
}
else if (lastSupply > 0f && currentSupply == 0f)
{
RaiseLocalEvent(powerNetBattery.Owner, new PowerNetBatterySupplyEvent {Supply = false}, true);
var ev = new PowerNetBatterySupplyEvent(false);
RaiseLocalEvent(powerNetBattery.Owner, ref ev);
}
powerNetBattery.LastSupply = currentSupply;
@@ -329,9 +335,11 @@ namespace Content.Server.Power.EntitySystems
consumer.NetworkLoad.LinkedNetwork = netNode.Id;
}
var batteryQuery = GetEntityQuery<PowerNetworkBatteryComponent>();
foreach (var apc in net.Apcs)
{
var netBattery = EntityManager.GetComponent<PowerNetworkBatteryComponent>(apc.Owner);
var netBattery = batteryQuery.GetComponent(apc.Owner);
netNode.BatteriesDischarging.Add(netBattery.NetworkBattery.Id);
netBattery.NetworkBattery.LinkedNetworkDischarging = netNode.Id;
}
@@ -358,16 +366,18 @@ namespace Content.Server.Power.EntitySystems
supplier.NetworkSupply.LinkedNetwork = netNode.Id;
}
var batteryQuery = GetEntityQuery<PowerNetworkBatteryComponent>();
foreach (var charger in net.Chargers)
{
var battery = EntityManager.GetComponent<PowerNetworkBatteryComponent>(charger.Owner);
var battery = batteryQuery.GetComponent(charger.Owner);
netNode.BatteriesCharging.Add(battery.NetworkBattery.Id);
battery.NetworkBattery.LinkedNetworkCharging = netNode.Id;
}
foreach (var discharger in net.Dischargers)
{
var battery = EntityManager.GetComponent<PowerNetworkBatteryComponent>(discharger.Owner);
var battery = batteryQuery.GetComponent(discharger.Owner);
netNode.BatteriesDischarging.Add(battery.NetworkBattery.Id);
battery.NetworkBattery.LinkedNetworkDischarging = netNode.Id;
}
@@ -378,7 +388,7 @@ namespace Content.Server.Power.EntitySystems
/// Raised before power network simulation happens, to synchronize battery state from
/// components like <see cref="BatteryComponent"/> into <see cref="PowerNetworkBatteryComponent"/>.
/// </summary>
public struct NetworkBatteryPreSync
public readonly struct NetworkBatteryPreSync
{
}
@@ -386,31 +396,27 @@ namespace Content.Server.Power.EntitySystems
/// Raised after power network simulation happens, to synchronize battery charge changes from
/// <see cref="PowerNetworkBatteryComponent"/> to components like <see cref="BatteryComponent"/>.
/// </summary>
public struct NetworkBatteryPostSync
public readonly struct NetworkBatteryPostSync
{
}
/// <summary>
/// Raised when the amount of receiving power on a <see cref="PowerConsumerComponent"/> changes.
/// </summary>
public sealed class PowerConsumerReceivedChanged : EntityEventArgs
[ByRefEvent]
public readonly record struct PowerConsumerReceivedChanged(float ReceivedPower, float DrawRate)
{
public float ReceivedPower { get; }
public float DrawRate { get; }
public PowerConsumerReceivedChanged(float receivedPower, float drawRate)
{
ReceivedPower = receivedPower;
DrawRate = drawRate;
}
public readonly float ReceivedPower = ReceivedPower;
public readonly float DrawRate = DrawRate;
}
/// <summary>
/// Raised whenever a <see cref="PowerNetworkBatteryComponent"/> changes from / to 0 CurrentSupply.
/// </summary>
public sealed class PowerNetBatterySupplyEvent : EntityEventArgs
[ByRefEvent]
public readonly record struct PowerNetBatterySupplyEvent(bool Supply)
{
public bool Supply { get; init; }
public readonly bool Supply = Supply;
}
public struct PowerStatistics

View File

@@ -1,11 +1,14 @@
using Content.Server.Power.Components;
using Content.Shared.Examine;
using Content.Shared.Power;
using Robust.Server.GameObjects;
namespace Content.Server.Power.EntitySystems
{
public sealed class PowerReceiverSystem : EntitySystem
{
[Dependency] private readonly AppearanceSystem _appearance = default!;
public override void Initialize()
{
base.Initialize();
@@ -25,8 +28,9 @@ namespace Content.Server.Power.EntitySystems
private void OnExamined(EntityUid uid, ApcPowerReceiverComponent component, ExaminedEvent args)
{
args.PushMarkup(Loc.GetString("power-receiver-component-on-examine-main",
("stateText", Loc.GetString( component.Powered ? "power-receiver-component-on-examine-powered" :
"power-receiver-component-on-examine-unpowered"))));
("stateText", Loc.GetString( component.Powered
? "power-receiver-component-on-examine-powered"
: "power-receiver-component-on-examine-unpowered"))));
}
private void OnProviderShutdown(EntityUid uid, ApcPowerProviderComponent component, ComponentShutdown args)
@@ -77,11 +81,10 @@ namespace Content.Server.Power.EntitySystems
private void ProviderChanged(ApcPowerReceiverComponent receiver)
{
receiver.NetworkLoad.LinkedNetwork = default;
var ev = new PowerChangedEvent(receiver.Powered, receiver.NetworkLoad.ReceivingPower);
RaiseLocalEvent(receiver.Owner, new PowerChangedEvent(receiver.Powered, receiver.NetworkLoad.ReceivingPower), true);
if (TryComp(receiver.Owner, out AppearanceComponent? appearance))
appearance.SetData(PowerDeviceVisuals.Powered, receiver.Powered);
RaiseLocalEvent(receiver.Owner, ref ev);
_appearance.SetData(receiver.Owner, PowerDeviceVisuals.Powered, receiver.Powered);
}
/// <summary>

View File

@@ -145,7 +145,7 @@ namespace Content.Server.Shuttles.Systems
UpdateState(component);
}
private void OnConsolePowerChange(EntityUid uid, ShuttleConsoleComponent component, PowerChangedEvent args)
private void OnConsolePowerChange(EntityUid uid, ShuttleConsoleComponent component, ref PowerChangedEvent args)
{
UpdateState(component);
}

View File

@@ -223,7 +223,7 @@ namespace Content.Server.Shuttles.Systems
DisableThruster(uid, component);
}
private void OnPowerChange(EntityUid uid, ThrusterComponent component, PowerChangedEvent args)
private void OnPowerChange(EntityUid uid, ThrusterComponent component, ref PowerChangedEvent args)
{
if (args.Powered && CanEnable(uid, component))
{

View File

@@ -71,7 +71,7 @@ namespace Content.Server.Singularity.EntitySystems
private void ReceivedChanged(
EntityUid uid,
EmitterComponent component,
PowerConsumerReceivedChanged args)
ref PowerConsumerReceivedChanged args)
{
if (!component.IsOn)
{

View File

@@ -181,7 +181,7 @@ public sealed class SurveillanceCameraMonitorSystem : EntitySystem
TrySwitchCameraByAddress(uid, message.Address, component);
}
private void OnPowerChanged(EntityUid uid, SurveillanceCameraMonitorComponent component, PowerChangedEvent args)
private void OnPowerChanged(EntityUid uid, SurveillanceCameraMonitorComponent component, ref PowerChangedEvent args)
{
if (!args.Powered)
{

View File

@@ -86,7 +86,7 @@ public sealed class SurveillanceCameraRouterSystem : EntitySystem
}
}
private void OnPowerChanged(EntityUid uid, SurveillanceCameraRouterComponent component, PowerChangedEvent args)
private void OnPowerChanged(EntityUid uid, SurveillanceCameraRouterComponent component, ref PowerChangedEvent args)
{
component.MonitorRoutes.Clear();
component.Active = args.Powered;

View File

@@ -143,7 +143,7 @@ public sealed class SurveillanceCameraSystem : EntitySystem
private void OnPowerChanged(EntityUid camera, SurveillanceCameraComponent component, PowerChangedEvent args)
private void OnPowerChanged(EntityUid camera, SurveillanceCameraComponent component, ref PowerChangedEvent args)
{
SetActive(camera, args.Powered, component);
}

View File

@@ -119,7 +119,7 @@ namespace Content.Server.VendingMachines
AuthorizedVend(uid, entity, args.Type, args.ID, component);
}
private void OnPowerChanged(EntityUid uid, VendingMachineComponent component, PowerChangedEvent args)
private void OnPowerChanged(EntityUid uid, VendingMachineComponent component, ref PowerChangedEvent args)
{
TryUpdateVisualState(uid, component);
}

View File

@@ -391,7 +391,7 @@ public sealed class WiresSystem : EntitySystem
#endregion
#region Event Handling
private void OnWiresPowered(EntityUid uid, WiresComponent component, PowerChangedEvent args)
private void OnWiresPowered(EntityUid uid, WiresComponent component, ref PowerChangedEvent args)
{
UpdateUserInterface(uid);
foreach (var wire in component.WiresList)