mirror of
https://github.com/space-syndicate/space-station-14.git
synced 2026-10-09 18:31:17 +03:00
* Make every EntitySystem partial * Oobs thats for a diff PR * Also oops on that one * Test systems * git are we fr * Update file templates * cleanup empty classes while we are here * forgor --------- Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
35 lines
1 KiB
C#
35 lines
1 KiB
C#
using Content.Server.Objectives.Components;
|
|
using Content.Shared.Cargo.Components;
|
|
using Content.Shared.Mind;
|
|
using Content.Shared.Objectives.Components;
|
|
using NetCord;
|
|
|
|
namespace Content.Server.Objectives.Systems;
|
|
|
|
/// <summary>
|
|
/// Handles the Hijack Trade Station objective.
|
|
/// </summary>
|
|
public sealed partial class HijackTradeStationConditionSystem : EntitySystem
|
|
{
|
|
public override void Initialize()
|
|
{
|
|
base.Initialize();
|
|
|
|
SubscribeLocalEvent<HijackTradeStationConditionComponent, ObjectiveGetProgressEvent>(OnGetProgress);
|
|
}
|
|
|
|
private void OnGetProgress(Entity<HijackTradeStationConditionComponent> ent, ref ObjectiveGetProgressEvent args)
|
|
{
|
|
var enumerator = EntityQueryEnumerator<TradeStationComponent>();
|
|
args.Progress = 0f;
|
|
// If there's any hacked trade station, succeed.
|
|
while (enumerator.MoveNext(out var comp))
|
|
{
|
|
if (!comp.Hacked)
|
|
continue;
|
|
|
|
args.Progress = 1f;
|
|
return;
|
|
}
|
|
}
|
|
}
|