Cleanup warnings in HolopadSystem (#37421)
* Cleanup warnings in HolopadSystem * Fix reversed order of CopySprite parameters
This commit is contained in:
@@ -13,6 +13,7 @@ public sealed class HolopadSystem : SharedHolopadSystem
|
||||
{
|
||||
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
|
||||
[Dependency] private readonly IGameTiming _timing = default!;
|
||||
[Dependency] private readonly SpriteSystem _sprite = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
@@ -58,8 +59,8 @@ public sealed class HolopadSystem : SharedHolopadSystem
|
||||
return;
|
||||
|
||||
// Remove all sprite layers
|
||||
for (int i = hologramSprite.AllLayers.Count() - 1; i >= 0; i--)
|
||||
hologramSprite.RemoveLayer(i);
|
||||
for (var i = hologramSprite.AllLayers.Count() - 1; i >= 0; i--)
|
||||
_sprite.RemoveLayer((hologram, hologramSprite), i);
|
||||
|
||||
if (TryComp<SpriteComponent>(target, out var targetSprite))
|
||||
{
|
||||
@@ -67,17 +68,16 @@ public sealed class HolopadSystem : SharedHolopadSystem
|
||||
if (TryComp<HolographicAvatarComponent>(target, out var targetAvatar) &&
|
||||
targetAvatar.LayerData != null)
|
||||
{
|
||||
for (int i = 0; i < targetAvatar.LayerData.Length; i++)
|
||||
for (var i = 0; i < targetAvatar.LayerData.Length; i++)
|
||||
{
|
||||
var layer = targetAvatar.LayerData[i];
|
||||
hologramSprite.AddLayer(targetAvatar.LayerData[i], i);
|
||||
_sprite.AddLayer((hologram, hologramSprite), targetAvatar.LayerData[i], i);
|
||||
}
|
||||
}
|
||||
|
||||
// Otherwise copy the target's current physical appearance
|
||||
else
|
||||
{
|
||||
hologramSprite.CopyFrom(targetSprite);
|
||||
_sprite.CopySprite((target.Value, targetSprite), (hologram, hologramSprite));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,25 +87,27 @@ public sealed class HolopadSystem : SharedHolopadSystem
|
||||
if (string.IsNullOrEmpty(holopadhologram.RsiPath) || string.IsNullOrEmpty(holopadhologram.RsiState))
|
||||
return;
|
||||
|
||||
var layer = new PrototypeLayerData();
|
||||
layer.RsiPath = holopadhologram.RsiPath;
|
||||
layer.State = holopadhologram.RsiState;
|
||||
var layer = new PrototypeLayerData
|
||||
{
|
||||
RsiPath = holopadhologram.RsiPath,
|
||||
State = holopadhologram.RsiState
|
||||
};
|
||||
|
||||
hologramSprite.AddLayer(layer);
|
||||
_sprite.AddLayer((hologram, hologramSprite), layer, null);
|
||||
}
|
||||
|
||||
// Override specific values
|
||||
hologramSprite.Color = Color.White;
|
||||
hologramSprite.Offset = holopadhologram.Offset;
|
||||
hologramSprite.DrawDepth = (int)DrawDepth.Mobs;
|
||||
_sprite.SetColor((hologram, hologramSprite), Color.White);
|
||||
_sprite.SetOffset((hologram, hologramSprite), holopadhologram.Offset);
|
||||
_sprite.SetDrawDepth((hologram, hologramSprite), (int)DrawDepth.Mobs);
|
||||
hologramSprite.NoRotation = true;
|
||||
hologramSprite.DirectionOverride = Direction.South;
|
||||
hologramSprite.EnableDirectionOverride = true;
|
||||
|
||||
// Remove shading from all layers (except displacement maps)
|
||||
for (int i = 0; i < hologramSprite.AllLayers.Count(); i++)
|
||||
for (var i = 0; i < hologramSprite.AllLayers.Count(); i++)
|
||||
{
|
||||
if (hologramSprite.TryGetLayer(i, out var layer) && layer.ShaderPrototype != "DisplacedStencilDraw")
|
||||
if (_sprite.TryGetLayer((hologram, hologramSprite), i, out var layer, false) && layer.ShaderPrototype != "DisplacedStencilDraw")
|
||||
hologramSprite.LayerSetShader(i, "unshaded");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user