Injector sprite fix (#9011)

This commit is contained in:
Leon Friedrich
2022-07-09 21:59:39 +12:00
committed by GitHub
parent 029924e163
commit 65408f63d4
5 changed files with 28 additions and 11 deletions

View File

@@ -53,16 +53,19 @@ public sealed class SubFloorHideSystem : SharedSubFloorHideSystem
}
// Is there some layer that is always visible?
if (args.Sprite.LayerMapTryGet(SubfloorLayers.FirstLayer, out var firstLayer))
var hasVisibleLayer = false;
foreach (var layerKey in component.VisibleLayers)
{
var layer = args.Sprite[firstLayer];
if (!args.Sprite.LayerMapTryGet(layerKey, out var layerIndex))
continue;
var layer = args.Sprite[layerIndex];
layer.Visible = true;
layer.Color = layer.Color.WithAlpha(1f);
args.Sprite.Visible = true;
return;
hasVisibleLayer = true;
}
args.Sprite.Visible = revealed;
args.Sprite.Visible = hasVisibleLayer || revealed;
}
private void UpdateAll()
@@ -73,8 +76,3 @@ public sealed class SubFloorHideSystem : SharedSubFloorHideSystem
}
}
}
public enum SubfloorLayers : byte
{
FirstLayer, // always visible. E.g. vent part of a vent..
}