mirror of
https://github.com/space-syndicate/space-station-14.git
synced 2026-10-09 10:21:18 +03:00
Bugfix: Fix floating firelock pressure/temp warning lights (#46007)
* Firelock: temp/pressure layers in the component * edge firelock too * simplify * mm inconsistent spacing
This commit is contained in:
parent
58dae1ce4a
commit
763186613f
2 changed files with 19 additions and 10 deletions
|
|
@ -85,5 +85,24 @@ public sealed partial class FirelockSystem : SharedFirelockSystem
|
|||
|
||||
if (_sprite.LayerMapTryGet((ent, args.Sprite), DoorVisualLayers.BaseBolted, out var boltedLayer, logMissing: false))
|
||||
_sprite.LayerSetVisible((ent, args.Sprite), boltedLayer, boltedVisible);
|
||||
|
||||
var warningLightsVisible =
|
||||
state == DoorState.Closed
|
||||
|| state == DoorState.Welded
|
||||
|| state == DoorState.Denying;
|
||||
|
||||
if (_sprite.LayerMapTryGet((ent, args.Sprite), FirelockVisualLayersPressure.Base, out var pressureLayerIndex, logMissing: false))
|
||||
{
|
||||
if (!args.TryGetData<bool>(FirelockVisuals.PressureWarning, out var pressure))
|
||||
pressure = false;
|
||||
_sprite.LayerSetVisible((ent, args.Sprite), pressureLayerIndex, pressure && warningLightsVisible);
|
||||
}
|
||||
|
||||
if (_sprite.LayerMapTryGet((ent, args.Sprite), FirelockVisualLayersTemperature.Base, out var tempLayerIndex, logMissing: false))
|
||||
{
|
||||
if (!args.TryGetData<bool>(FirelockVisuals.TemperatureWarning, out var temp))
|
||||
temp = false;
|
||||
_sprite.LayerSetVisible((ent, args.Sprite), tempLayerIndex, temp && warningLightsVisible);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,16 +67,6 @@
|
|||
shader: unshaded
|
||||
sprite: Structures/Doors/Airlocks/Effects/airlock-effects-firelock.rsi
|
||||
map: ["enum.FirelockVisualLayersTemperature.Base"]
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.FirelockVisuals.PressureWarning:
|
||||
enum.FirelockVisualLayersPressure.Base:
|
||||
True: { visible: true }
|
||||
False: { visible: false }
|
||||
enum.FirelockVisuals.TemperatureWarning:
|
||||
enum.FirelockVisualLayersTemperature.Base:
|
||||
True: { visible: true }
|
||||
False: { visible: false }
|
||||
- type: AnimationPlayer
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue