Fix gas pipe rotation rendering (#5015)

This commit is contained in:
metalgearsloth
2021-10-25 14:24:54 +11:00
committed by GitHub
parent 36eef876af
commit 507a1b9f84
3 changed files with 10 additions and 3 deletions

View File

@@ -63,6 +63,7 @@ namespace Content.Client.Atmos.Visualizers
if (!component.Owner.TryGetComponent<ITransformComponent>(out var xform))
return;
if (!component.Owner.TryGetComponent<ISpriteComponent>(out var sprite))
return;
@@ -75,10 +76,18 @@ namespace Content.Client.Atmos.Visualizers
if(!component.TryGetData(SubFloorVisuals.SubFloor, out bool subfloor))
subfloor = true;
var rotation = xform.LocalRotation;
foreach (Layer layerKey in Enum.GetValues(typeof(Layer)))
{
var layer = sprite.LayerMapGet(layerKey);
sprite.LayerSetVisible(layer, state.ConnectedDirections.HasDirection(((PipeDirection)layerKey)) && subfloor);
var dir = (PipeDirection) layerKey;
var visible = subfloor && state.ConnectedDirections.HasDirection(dir);
sprite.LayerSetVisible(layer, visible);
if (!visible) continue;
sprite.LayerSetRotation(layer, -rotation);
sprite.LayerSetColor(layer, color);
}
}