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:
@@ -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))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user