using Content.Shared.DoAfter; using Robust.Shared.Serialization; namespace Content.Shared.Power.Generator; /// /// Shared logic for portable generators. /// /// public abstract class SharedPortableGeneratorSystem : EntitySystem { public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnSwitchPowerCheck); } private void OnSwitchPowerCheck(EntityUid uid, FuelGeneratorComponent comp, ref SwitchPowerCheckEvent args) { if (comp.On) args.DisableMessage = Loc.GetString("fuel-generator-verb-disable-on"); } } /// /// Used to start a portable generator. /// /// [Serializable, NetSerializable] public sealed partial class GeneratorStartedEvent : DoAfterEvent { public override DoAfterEvent Clone() { return this; } } /// /// Used to start a portable generator. This is like except it isn't a do-after. /// [ByRefEvent] public sealed partial class AutoGeneratorStartedEvent { public bool Started = false; }