Fix airlock autoclose mispredict (#32477)

* Fix airlock autoclose mispredict

It was hard to see this ingame due to animations masking it. The only way you'd notice currently is the light mispredicting.

* cudin
This commit is contained in:
metalgearsloth
2024-09-27 16:10:27 +10:00
committed by GitHub
parent b8d7733640
commit b1e69ee84d

View File

@@ -2,15 +2,16 @@ using Content.Shared.Doors.Components;
using Content.Shared.Popups;
using Content.Shared.Prying.Components;
using Content.Shared.Wires;
using Robust.Shared.Timing;
namespace Content.Shared.Doors.Systems;
public abstract class SharedAirlockSystem : EntitySystem
{
[Dependency] private readonly IGameTiming _timing = default!;
[Dependency] protected readonly SharedAppearanceSystem Appearance = default!;
[Dependency] protected readonly SharedDoorSystem DoorSystem = default!;
[Dependency] protected readonly SharedPopupSystem Popup = default!;
[Dependency] private readonly SharedWiresSystem _wiresSystem = default!;
[Dependency] private readonly SharedWiresSystem _wiresSystem = default!;
public override void Initialize()
{
@@ -46,6 +47,10 @@ public abstract class SharedAirlockSystem : EntitySystem
private void OnStateChanged(EntityUid uid, AirlockComponent component, DoorStateChangedEvent args)
{
// This is here so we don't accidentally bulldoze state values and mispredict.
if (_timing.ApplyingState)
return;
// Only show the maintenance panel if the airlock is closed
if (TryComp<WiresPanelComponent>(uid, out var wiresPanel))
{