Fix disposal pipe visibility in entity menu (#5790)

This commit is contained in:
Leon Friedrich
2021-12-15 19:46:42 +13:00
committed by GitHub
parent a50bc4bb00
commit 075bae7519

View File

@@ -17,22 +17,23 @@ namespace Content.Client.SubFloor
if (!entities.TryGetComponent(component.Owner, out SpriteComponent? sprite)) if (!entities.TryGetComponent(component.Owner, out SpriteComponent? sprite))
return; return;
if (component.TryGetData(SubFloorVisuals.SubFloor, out bool subfloor)) if (!component.TryGetData(SubFloorVisuals.SubFloor, out bool subfloor))
return;
foreach (var layer in sprite.AllLayers)
{ {
sprite.Visible = true; layer.Visible = subfloor;
// Due to the way this visualizer works, you might want to specify it before any other
// visualizer that hides/shows layers depending on certain conditions, such as PipeConnectorVisualizer.
foreach (var layer in sprite.AllLayers)
{
layer.Visible = subfloor;
}
if (sprite.LayerMapTryGet(Layers.FirstLayer, out var firstLayer))
{
sprite.LayerSetVisible(firstLayer, true);
}
} }
if (!sprite.LayerMapTryGet(Layers.FirstLayer, out var firstLayer))
{
sprite.Visible = subfloor;
return;
}
// show the top part of the sprite. E.g. the grille-part of a vent, but not the connecting pipes.
sprite.LayerSetVisible(firstLayer, true);
sprite.Visible = true;
} }
public enum Layers : byte public enum Layers : byte