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,14 +2,15 @@ using Content.Shared.Doors.Components;
|
|||||||
using Content.Shared.Popups;
|
using Content.Shared.Popups;
|
||||||
using Content.Shared.Prying.Components;
|
using Content.Shared.Prying.Components;
|
||||||
using Content.Shared.Wires;
|
using Content.Shared.Wires;
|
||||||
|
using Robust.Shared.Timing;
|
||||||
|
|
||||||
namespace Content.Shared.Doors.Systems;
|
namespace Content.Shared.Doors.Systems;
|
||||||
|
|
||||||
public abstract class SharedAirlockSystem : EntitySystem
|
public abstract class SharedAirlockSystem : EntitySystem
|
||||||
{
|
{
|
||||||
|
[Dependency] private readonly IGameTiming _timing = default!;
|
||||||
[Dependency] protected readonly SharedAppearanceSystem Appearance = default!;
|
[Dependency] protected readonly SharedAppearanceSystem Appearance = default!;
|
||||||
[Dependency] protected readonly SharedDoorSystem DoorSystem = 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()
|
public override void Initialize()
|
||||||
@@ -46,6 +47,10 @@ public abstract class SharedAirlockSystem : EntitySystem
|
|||||||
|
|
||||||
private void OnStateChanged(EntityUid uid, AirlockComponent component, DoorStateChangedEvent args)
|
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
|
// Only show the maintenance panel if the airlock is closed
|
||||||
if (TryComp<WiresPanelComponent>(uid, out var wiresPanel))
|
if (TryComp<WiresPanelComponent>(uid, out var wiresPanel))
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user