{
[Dependency] private readonly IPrototypeManager _prototype = default!;
[Dependency] private readonly ItemSystem _itemSystem = default!;
+ [Dependency] private readonly SpriteSystem _sprite = default!;
public override void Initialize()
{
if (args.Sprite == null)
return;
- if (!args.Sprite.LayerMapTryGet(component.Layer, out var fillLayer))
+ if (!_sprite.LayerMapTryGet((uid, args.Sprite), component.Layer, out var fillLayer, false))
return;
var maxFillLevels = component.MaxFillLevels;
}
if (component.Metamorphic)
{
- if (args.Sprite.LayerMapTryGet(component.BaseLayer, out var baseLayer))
+ if (_sprite.LayerMapTryGet((uid, args.Sprite), component.BaseLayer, out var baseLayer, false))
{
- var hasOverlay = args.Sprite.LayerMapTryGet(component.OverlayLayer, out var overlayLayer);
+ var hasOverlay = _sprite.LayerMapTryGet((uid, args.Sprite), component.OverlayLayer, out var overlayLayer, false);
if (AppearanceSystem.TryGetData<string>(uid, SolutionContainerVisuals.BaseOverride,
out var baseOverride,
if (reagentProto?.MetamorphicSprite is { } sprite)
{
- args.Sprite.LayerSetSprite(baseLayer, sprite);
+ _sprite.LayerSetSprite((uid, args.Sprite), baseLayer, sprite);
if (reagentProto.MetamorphicMaxFillLevels > 0)
{
- args.Sprite.LayerSetVisible(fillLayer, true);
+ _sprite.LayerSetVisible((uid, args.Sprite), fillLayer, true);
maxFillLevels = reagentProto.MetamorphicMaxFillLevels;
fillBaseName = reagentProto.MetamorphicFillBaseName;
changeColor = reagentProto.MetamorphicChangeColor;
fillSprite = sprite;
}
else
- args.Sprite.LayerSetVisible(fillLayer, false);
+ _sprite.LayerSetVisible((uid, args.Sprite), fillLayer, false);
if (hasOverlay)
- args.Sprite.LayerSetVisible(overlayLayer, false);
+ _sprite.LayerSetVisible((uid, args.Sprite), overlayLayer, false);
}
else
{
- args.Sprite.LayerSetVisible(fillLayer, true);
+ _sprite.LayerSetVisible((uid, args.Sprite), fillLayer, true);
if (hasOverlay)
- args.Sprite.LayerSetVisible(overlayLayer, true);
+ _sprite.LayerSetVisible((uid, args.Sprite), overlayLayer, true);
if (component.MetamorphicDefaultSprite != null)
- args.Sprite.LayerSetSprite(baseLayer, component.MetamorphicDefaultSprite);
+ _sprite.LayerSetSprite((uid, args.Sprite), baseLayer, component.MetamorphicDefaultSprite);
}
}
}
}
else
{
- args.Sprite.LayerSetVisible(fillLayer, true);
+ _sprite.LayerSetVisible((uid, args.Sprite), fillLayer, true);
}
var closestFillSprite = ContentHelpers.RoundToLevels(fraction, 1, maxFillLevels + 1);
var stateName = fillBaseName + closestFillSprite;
if (fillSprite != null)
- args.Sprite.LayerSetSprite(fillLayer, fillSprite);
- args.Sprite.LayerSetState(fillLayer, stateName);
+ _sprite.LayerSetSprite((uid, args.Sprite), fillLayer, fillSprite);
+ _sprite.LayerSetRsiState((uid, args.Sprite), fillLayer, stateName);
if (changeColor && AppearanceSystem.TryGetData<Color>(uid, SolutionContainerVisuals.Color, out var color, args.Component))
- args.Sprite.LayerSetColor(fillLayer, color);
+ _sprite.LayerSetColor((uid, args.Sprite), fillLayer, color);
else
- args.Sprite.LayerSetColor(fillLayer, Color.White);
+ _sprite.LayerSetColor((uid, args.Sprite), fillLayer, Color.White);
}
else
{
if (component.EmptySpriteName == null)
- args.Sprite.LayerSetVisible(fillLayer, false);
+ _sprite.LayerSetVisible((uid, args.Sprite), fillLayer, false);
else
{
- args.Sprite.LayerSetState(fillLayer, component.EmptySpriteName);
+ _sprite.LayerSetRsiState((uid, args.Sprite), fillLayer, component.EmptySpriteName);
if (changeColor)
- args.Sprite.LayerSetColor(fillLayer, component.EmptySpriteColor);
+ _sprite.LayerSetColor((uid, args.Sprite), fillLayer, component.EmptySpriteColor);
else
- args.Sprite.LayerSetColor(fillLayer, Color.White);
+ _sprite.LayerSetColor((uid, args.Sprite), fillLayer, Color.White);
}
}