Files
tbd-station-14/Content.Shared/Revenant/EntitySystems/SharedRevenantOverloadedLightsSystem.cs
2023-10-19 12:34:31 -07:00

30 lines
768 B
C#

using Content.Shared.Revenant.Components;
namespace Content.Shared.Revenant.EntitySystems;
/// <summary>
/// This handles...
/// </summary>
public abstract class SharedRevenantOverloadedLightsSystem : EntitySystem
{
public override void Update(float frameTime)
{
base.Update(frameTime);
var enumerator = EntityQueryEnumerator<RevenantOverloadedLightsComponent>();
while (enumerator.MoveNext(out var uid, out var comp))
{
comp.Accumulator += frameTime;
if (comp.Accumulator < comp.ZapDelay)
continue;
OnZap((uid, comp));
RemCompDeferred(uid, comp);
}
}
protected abstract void OnZap(Entity<RevenantOverloadedLightsComponent> component);
}