2022-09-28 22:30:48 -04:00
|
|
|
|
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);
|
|
|
|
|
|
|
2022-11-07 03:33:44 +11:00
|
|
|
|
var enumerator = EntityQueryEnumerator<RevenantOverloadedLightsComponent>();
|
|
|
|
|
|
|
2023-09-11 19:18:06 +10:00
|
|
|
|
while (enumerator.MoveNext(out var uid, out var comp))
|
2022-09-28 22:30:48 -04:00
|
|
|
|
{
|
|
|
|
|
|
comp.Accumulator += frameTime;
|
|
|
|
|
|
|
|
|
|
|
|
if (comp.Accumulator < comp.ZapDelay)
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
2023-10-19 12:34:31 -07:00
|
|
|
|
OnZap((uid, comp));
|
2023-09-11 19:18:06 +10:00
|
|
|
|
RemCompDeferred(uid, comp);
|
2022-09-28 22:30:48 -04:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2023-10-19 12:34:31 -07:00
|
|
|
|
protected abstract void OnZap(Entity<RevenantOverloadedLightsComponent> component);
|
2022-09-28 22:30:48 -04:00
|
|
|
|
}
|