Skip to content

Commit af36bd9

Browse files
committed
Merge remote-tracking branch 'origin/master' into advclown to update it
2 parents a78044a + 7ee0db0 commit af36bd9

1 file changed

Lines changed: 17 additions & 15 deletions

File tree

Content.Client/Holopad/HolopadSystem.cs

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ public sealed class HolopadSystem : SharedHolopadSystem
1313
{
1414
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
1515
[Dependency] private readonly IGameTiming _timing = default!;
16+
[Dependency] private readonly SpriteSystem _sprite = default!;
1617

1718
public override void Initialize()
1819
{
@@ -58,26 +59,25 @@ private void UpdateHologramSprite(EntityUid hologram, EntityUid? target)
5859
return;
5960

6061
// Remove all sprite layers
61-
for (int i = hologramSprite.AllLayers.Count() - 1; i >= 0; i--)
62-
hologramSprite.RemoveLayer(i);
62+
for (var i = hologramSprite.AllLayers.Count() - 1; i >= 0; i--)
63+
_sprite.RemoveLayer((hologram, hologramSprite), i);
6364

6465
if (TryComp<SpriteComponent>(target, out var targetSprite))
6566
{
6667
// Use the target's holographic avatar (if available)
6768
if (TryComp<HolographicAvatarComponent>(target, out var targetAvatar) &&
6869
targetAvatar.LayerData != null)
6970
{
70-
for (int i = 0; i < targetAvatar.LayerData.Length; i++)
71+
for (var i = 0; i < targetAvatar.LayerData.Length; i++)
7172
{
72-
var layer = targetAvatar.LayerData[i];
73-
hologramSprite.AddLayer(targetAvatar.LayerData[i], i);
73+
_sprite.AddLayer((hologram, hologramSprite), targetAvatar.LayerData[i], i);
7474
}
7575
}
7676

7777
// Otherwise copy the target's current physical appearance
7878
else
7979
{
80-
hologramSprite.CopyFrom(targetSprite);
80+
_sprite.CopySprite((target.Value, targetSprite), (hologram, hologramSprite));
8181
}
8282
}
8383

@@ -87,25 +87,27 @@ private void UpdateHologramSprite(EntityUid hologram, EntityUid? target)
8787
if (string.IsNullOrEmpty(holopadhologram.RsiPath) || string.IsNullOrEmpty(holopadhologram.RsiState))
8888
return;
8989

90-
var layer = new PrototypeLayerData();
91-
layer.RsiPath = holopadhologram.RsiPath;
92-
layer.State = holopadhologram.RsiState;
90+
var layer = new PrototypeLayerData
91+
{
92+
RsiPath = holopadhologram.RsiPath,
93+
State = holopadhologram.RsiState
94+
};
9395

94-
hologramSprite.AddLayer(layer);
96+
_sprite.AddLayer((hologram, hologramSprite), layer, null);
9597
}
9698

9799
// Override specific values
98-
hologramSprite.Color = Color.White;
99-
hologramSprite.Offset = holopadhologram.Offset;
100-
hologramSprite.DrawDepth = (int)DrawDepth.Mobs;
100+
_sprite.SetColor((hologram, hologramSprite), Color.White);
101+
_sprite.SetOffset((hologram, hologramSprite), holopadhologram.Offset);
102+
_sprite.SetDrawDepth((hologram, hologramSprite), (int)DrawDepth.Mobs);
101103
hologramSprite.NoRotation = true;
102104
hologramSprite.DirectionOverride = Direction.South;
103105
hologramSprite.EnableDirectionOverride = true;
104106

105107
// Remove shading from all layers (except displacement maps)
106-
for (int i = 0; i < hologramSprite.AllLayers.Count(); i++)
108+
for (var i = 0; i < hologramSprite.AllLayers.Count(); i++)
107109
{
108-
if (hologramSprite.TryGetLayer(i, out var layer) && layer.ShaderPrototype != "DisplacedStencilDraw")
110+
if (_sprite.TryGetLayer((hologram, hologramSprite), i, out var layer, false) && layer.ShaderPrototype != "DisplacedStencilDraw")
109111
hologramSprite.LayerSetShader(i, "unshaded");
110112
}
111113

0 commit comments

Comments
 (0)