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;
}