Cleanup warnings in `AtmosPipeAppearanceSystem` (#37449)
* Cleanup warnings in AtmosPipeAppearanceSystem * Another enum
This commit is contained in:
parent
f4bb084881
commit
247334bf72
|
|
@ -11,6 +11,7 @@ namespace Content.Client.Atmos.EntitySystems;
|
|||
public sealed class AtmosPipeAppearanceSystem : EntitySystem
|
||||
{
|
||||
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
|
||||
[Dependency] private readonly SpriteSystem _sprite = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
|
|
@ -25,21 +26,22 @@ public sealed class AtmosPipeAppearanceSystem : EntitySystem
|
|||
if (!TryComp(uid, out SpriteComponent? sprite))
|
||||
return;
|
||||
|
||||
foreach (PipeConnectionLayer layerKey in Enum.GetValues(typeof(PipeConnectionLayer)))
|
||||
foreach (var layerKey in Enum.GetValues<PipeConnectionLayer>())
|
||||
{
|
||||
sprite.LayerMapReserveBlank(layerKey);
|
||||
var layer = sprite.LayerMapGet(layerKey);
|
||||
sprite.LayerSetRSI(layer, component.Sprite.RsiPath);
|
||||
sprite.LayerSetState(layer, component.Sprite.RsiState);
|
||||
sprite.LayerSetDirOffset(layer, ToOffset(layerKey));
|
||||
var layer = _sprite.LayerMapReserve((uid, sprite), layerKey);
|
||||
_sprite.LayerSetRsi((uid, sprite), layer, component.Sprite.RsiPath);
|
||||
_sprite.LayerSetRsiState((uid, sprite), layer, component.Sprite.RsiState);
|
||||
_sprite.LayerSetDirOffset((uid, sprite), layer, ToOffset(layerKey));
|
||||
}
|
||||
}
|
||||
|
||||
private void HideAllPipeConnection(SpriteComponent sprite)
|
||||
private void HideAllPipeConnection(Entity<SpriteComponent> entity)
|
||||
{
|
||||
foreach (PipeConnectionLayer layerKey in Enum.GetValues(typeof(PipeConnectionLayer)))
|
||||
var sprite = entity.Comp;
|
||||
|
||||
foreach (var layerKey in Enum.GetValues<PipeConnectionLayer>())
|
||||
{
|
||||
if (!sprite.LayerMapTryGet(layerKey, out var key))
|
||||
if (!_sprite.LayerMapTryGet(entity.AsNullable(), layerKey, out var key, false))
|
||||
continue;
|
||||
|
||||
var layer = sprite[key];
|
||||
|
|
@ -61,7 +63,7 @@ public sealed class AtmosPipeAppearanceSystem : EntitySystem
|
|||
|
||||
if (!_appearance.TryGetData<PipeDirection>(uid, PipeVisuals.VisualState, out var worldConnectedDirections, args.Component))
|
||||
{
|
||||
HideAllPipeConnection(args.Sprite);
|
||||
HideAllPipeConnection((uid, args.Sprite));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -71,13 +73,13 @@ public sealed class AtmosPipeAppearanceSystem : EntitySystem
|
|||
// transform connected directions to local-coordinates
|
||||
var connectedDirections = worldConnectedDirections.RotatePipeDirection(-Transform(uid).LocalRotation);
|
||||
|
||||
foreach (PipeConnectionLayer layerKey in Enum.GetValues(typeof(PipeConnectionLayer)))
|
||||
foreach (var layerKey in Enum.GetValues<PipeConnectionLayer>())
|
||||
{
|
||||
if (!args.Sprite.LayerMapTryGet(layerKey, out var key))
|
||||
if (!_sprite.LayerMapTryGet((uid, args.Sprite), layerKey, out var key, false))
|
||||
continue;
|
||||
|
||||
var layer = args.Sprite[key];
|
||||
var dir = (PipeDirection) layerKey;
|
||||
var dir = (PipeDirection)layerKey;
|
||||
var visible = connectedDirections.HasDirection(dir);
|
||||
|
||||
layer.Visible &= visible;
|
||||
|
|
|
|||
Loading…
Reference in New Issue