Power switchable refactor (#20419)
Co-authored-by: deltanedas <@deltanedas:kde.org>
This commit is contained in:
@@ -22,7 +22,7 @@ public sealed class PortableGeneratorSystem : SharedPortableGeneratorSystem
|
||||
[Dependency] private readonly AudioSystem _audio = default!;
|
||||
[Dependency] private readonly IRobustRandom _random = default!;
|
||||
[Dependency] private readonly GeneratorSystem _generator = default!;
|
||||
[Dependency] private readonly PowerSwitchableGeneratorSystem _switchableGenerator = default!;
|
||||
[Dependency] private readonly PowerSwitchableSystem _switchable = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
@@ -36,6 +36,8 @@ public sealed class PortableGeneratorSystem : SharedPortableGeneratorSystem
|
||||
SubscribeLocalEvent<PortableGeneratorComponent, PortableGeneratorStartMessage>(GeneratorStartMessage);
|
||||
SubscribeLocalEvent<PortableGeneratorComponent, PortableGeneratorStopMessage>(GeneratorStopMessage);
|
||||
SubscribeLocalEvent<PortableGeneratorComponent, PortableGeneratorSwitchOutputMessage>(GeneratorSwitchOutputMessage);
|
||||
|
||||
SubscribeLocalEvent<FuelGeneratorComponent, SwitchPowerCheckEvent>(OnSwitchPowerCheck);
|
||||
}
|
||||
|
||||
private void GeneratorSwitchOutputMessage(EntityUid uid, PortableGeneratorComponent component, PortableGeneratorSwitchOutputMessage args)
|
||||
@@ -47,7 +49,7 @@ public sealed class PortableGeneratorSystem : SharedPortableGeneratorSystem
|
||||
if (fuelGenerator.On)
|
||||
return;
|
||||
|
||||
_switchableGenerator.ToggleActiveOutput(uid, args.Session.AttachedEntity.Value);
|
||||
_switchable.Cycle(uid, args.Session.AttachedEntity.Value);
|
||||
}
|
||||
|
||||
private void GeneratorStopMessage(EntityUid uid, PortableGeneratorComponent component, PortableGeneratorStopMessage args)
|
||||
@@ -164,6 +166,12 @@ public sealed class PortableGeneratorSystem : SharedPortableGeneratorSystem
|
||||
}
|
||||
}
|
||||
|
||||
private void OnSwitchPowerCheck(EntityUid uid, FuelGeneratorComponent comp, ref SwitchPowerCheckEvent args)
|
||||
{
|
||||
if (comp.On)
|
||||
args.DisableMessage = Loc.GetString("fuel-generator-verb-disable-on");
|
||||
}
|
||||
|
||||
public override void Update(float frameTime)
|
||||
{
|
||||
var query = EntityQueryEnumerator<PortableGeneratorComponent, FuelGeneratorComponent, AppearanceComponent>();
|
||||
|
||||
Reference in New Issue
Block a user