public sealed class AlertLevelDisplaySystem : EntitySystem
{
+ [Dependency] private readonly SpriteSystem _sprite = default!;
+
public override void Initialize()
{
base.Initialize();
{
return;
}
- var layer = args.Sprite.LayerMapReserveBlank(AlertLevelDisplay.Layer);
+ var layer = _sprite.LayerMapReserve((uid, args.Sprite), AlertLevelDisplay.Layer);
if (args.AppearanceData.TryGetValue(AlertLevelDisplay.Powered, out var poweredObject))
{
- args.Sprite.LayerSetVisible(layer, poweredObject is true);
+ _sprite.LayerSetVisible((uid, args.Sprite), layer, poweredObject is true);
}
if (!args.AppearanceData.TryGetValue(AlertLevelDisplay.CurrentLevel, out var level))
{
- args.Sprite.LayerSetState(layer, alertLevelDisplay.AlertVisuals.Values.First());
+ _sprite.LayerSetRsiState((uid, args.Sprite), layer, alertLevelDisplay.AlertVisuals.Values.First());
return;
}
- if (alertLevelDisplay.AlertVisuals.TryGetValue((string) level, out var visual))
+ if (alertLevelDisplay.AlertVisuals.TryGetValue((string)level, out var visual))
{
- args.Sprite.LayerSetState(layer, visual);
+ _sprite.LayerSetRsiState((uid, args.Sprite), layer, visual);
}
else
{
- args.Sprite.LayerSetState(layer, alertLevelDisplay.AlertVisuals.Values.First());
+ _sprite.LayerSetRsiState((uid, args.Sprite), layer, alertLevelDisplay.AlertVisuals.Values.First());
}
}
}
using Content.Client.Botany.Components;
using Content.Shared.Botany;
using Robust.Client.GameObjects;
+using Robust.Shared.Utility;
namespace Content.Client.Botany;
public sealed class PlantHolderVisualizerSystem : VisualizerSystem<PlantHolderVisualsComponent>
{
+ [Dependency] private readonly SpriteSystem _sprite = default!;
+
public override void Initialize()
{
base.Initialize();
if (!TryComp<SpriteComponent>(uid, out var sprite))
return;
- sprite.LayerMapReserveBlank(PlantHolderLayers.Plant);
- sprite.LayerSetVisible(PlantHolderLayers.Plant, false);
+ _sprite.LayerMapReserve((uid, sprite), PlantHolderLayers.Plant);
+ _sprite.LayerSetVisible((uid, sprite), PlantHolderLayers.Plant, false);
}
protected override void OnAppearanceChange(EntityUid uid, PlantHolderVisualsComponent component, ref AppearanceChangeEvent args)
{
var valid = !string.IsNullOrWhiteSpace(state);
- args.Sprite.LayerSetVisible(PlantHolderLayers.Plant, valid);
+ _sprite.LayerSetVisible((uid, args.Sprite), PlantHolderLayers.Plant, valid);
if (valid)
{
- args.Sprite.LayerSetRSI(PlantHolderLayers.Plant, rsi);
- args.Sprite.LayerSetState(PlantHolderLayers.Plant, state);
+ _sprite.LayerSetRsi((uid, args.Sprite), PlantHolderLayers.Plant, new ResPath(rsi));
+ _sprite.LayerSetRsiState((uid, args.Sprite), PlantHolderLayers.Plant, state);
}
}
}
public sealed class ElectrocutionHUDVisualizerSystem : VisualizerSystem<ElectrocutionHUDVisualsComponent>
{
[Dependency] private readonly IPlayerManager _playerMan = default!;
+ [Dependency] private readonly SpriteSystem _sprite = default!;
public override void Initialize()
{
private void ShowHUD()
{
var electrifiedQuery = AllEntityQuery<ElectrocutionHUDVisualsComponent, AppearanceComponent, SpriteComponent>();
- while (electrifiedQuery.MoveNext(out var uid, out var _, out var appearanceComp, out var spriteComp))
+ while (electrifiedQuery.MoveNext(out var uid, out _, out var appearanceComp, out var spriteComp))
{
if (!AppearanceSystem.TryGetData<bool>(uid, ElectrifiedVisuals.IsElectrified, out var electrified, appearanceComp))
continue;
- if (electrified)
- spriteComp.LayerSetVisible(ElectrifiedLayers.HUD, true);
- else
- spriteComp.LayerSetVisible(ElectrifiedLayers.HUD, false);
+ _sprite.LayerSetVisible((uid, spriteComp), ElectrifiedLayers.HUD, electrified);
}
}
private void RemoveHUD()
{
var electrifiedQuery = AllEntityQuery<ElectrocutionHUDVisualsComponent, AppearanceComponent, SpriteComponent>();
- while (electrifiedQuery.MoveNext(out var uid, out var _, out var appearanceComp, out var spriteComp))
+ while (electrifiedQuery.MoveNext(out var uid, out _, out _, out var spriteComp))
{
-
- spriteComp.LayerSetVisible(ElectrifiedLayers.HUD, false);
+ _sprite.LayerSetVisible((uid, spriteComp), ElectrifiedLayers.HUD, false);
}
}
return;
var player = _playerMan.LocalEntity;
- if (electrified && HasComp<ShowElectrocutionHUDComponent>(player))
- args.Sprite.LayerSetVisible(ElectrifiedLayers.HUD, true);
- else
- args.Sprite.LayerSetVisible(ElectrifiedLayers.HUD, false);
+ _sprite.LayerSetVisible((uid, args.Sprite), ElectrifiedLayers.HUD, electrified && HasComp<ShowElectrocutionHUDComponent>(player));
}
}
using Content.Shared.Ensnaring;
using Content.Shared.Ensnaring.Components;
using Robust.Client.GameObjects;
+using Robust.Shared.Utility;
namespace Content.Client.Ensnaring;
public sealed class EnsnareableSystem : SharedEnsnareableSystem
{
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
+ [Dependency] private readonly SpriteSystem _sprite = default!;
public override void Initialize()
{
{
base.OnEnsnareInit(ent, ref args);
- if(!TryComp<SpriteComponent>(ent.Owner, out var sprite))
+ if (!TryComp<SpriteComponent>(ent.Owner, out var sprite))
return;
// TODO remove this, this should just be in yaml.
- sprite.LayerMapReserveBlank(EnsnaredVisualLayers.Ensnared);
+ _sprite.LayerMapReserve((ent.Owner, sprite), EnsnaredVisualLayers.Ensnared);
}
private void OnAppearanceChange(EntityUid uid, EnsnareableComponent component, ref AppearanceChangeEvent args)
{
- if (args.Sprite == null || !args.Sprite.LayerMapTryGet(EnsnaredVisualLayers.Ensnared, out var layer))
+ if (args.Sprite == null || !_sprite.LayerMapTryGet((uid, args.Sprite), EnsnaredVisualLayers.Ensnared, out var layer, false))
return;
if (_appearance.TryGetData<bool>(uid, EnsnareableVisuals.IsEnsnared, out var isEnsnared, args.Component))
{
if (component.Sprite != null)
{
- args.Sprite.LayerSetRSI(layer, component.Sprite);
- args.Sprite.LayerSetState(layer, component.State);
- args.Sprite.LayerSetVisible(layer, isEnsnared);
+ _sprite.LayerSetRsi((uid, args.Sprite), layer, new ResPath(component.Sprite));
+ _sprite.LayerSetRsiState((uid, args.Sprite), layer, component.State);
+ _sprite.LayerSetVisible((uid, args.Sprite), layer, isEnsnared);
}
}
}
public sealed class PuddleSystem : SharedPuddleSystem
{
[Dependency] private readonly IconSmoothSystem _smooth = default!;
+ [Dependency] private readonly SpriteSystem _sprite = default!;
public override void Initialize()
{
if (args.AppearanceData.TryGetValue(PuddleVisuals.CurrentVolume, out var volumeObj))
{
- volume = (float) volumeObj;
+ volume = (float)volumeObj;
}
// Update smoothing and sprite based on volume.
{
if (volume < LowThreshold)
{
- args.Sprite.LayerSetState(0, $"{smooth.StateBase}a");
+ _sprite.LayerSetRsiState((uid, args.Sprite), 0, $"{smooth.StateBase}a");
_smooth.SetEnabled(uid, false, smooth);
}
else if (volume < MediumThreshold)
{
- args.Sprite.LayerSetState(0, $"{smooth.StateBase}b");
+ _sprite.LayerSetRsiState((uid, args.Sprite), 0, $"{smooth.StateBase}b");
_smooth.SetEnabled(uid, false, smooth);
}
else
{
if (!smooth.Enabled)
{
- args.Sprite.LayerSetState(0, $"{smooth.StateBase}0");
+ _sprite.LayerSetRsiState((uid, args.Sprite), 0, $"{smooth.StateBase}0");
_smooth.SetEnabled(uid, true, smooth);
_smooth.DirtyNeighbours(uid);
}
if (args.AppearanceData.TryGetValue(PuddleVisuals.SolutionColor, out var colorObj))
{
- var color = (Color) colorObj;
- args.Sprite.Color = color * baseColor;
+ var color = (Color)colorObj;
+ _sprite.SetColor((uid, args.Sprite), color * baseColor);
}
else
{
- args.Sprite.Color *= baseColor;
+ _sprite.SetColor((uid, args.Sprite), args.Sprite.Color * baseColor);
}
}
using Robust.Shared.GameStates;
using Robust.Shared.Player;
using Robust.Shared.Timing;
+using Robust.Shared.Utility;
namespace Content.Client.Hands.Systems
{
[Dependency] private readonly SharedContainerSystem _containerSystem = default!;
[Dependency] private readonly StrippableSystem _stripSys = default!;
+ [Dependency] private readonly SpriteSystem _sprite = default!;
[Dependency] private readonly ExamineSystem _examine = default!;
[Dependency] private readonly DisplacementMapSystem _displacement = default!;
{
foreach (var key in revealedLayers)
{
- sprite.RemoveLayer(key);
+ _sprite.RemoveLayer((uid, sprite), key);
}
revealedLayers.Clear();
continue;
}
- var index = sprite.LayerMapReserveBlank(key);
+ var index = _sprite.LayerMapReserve((uid, sprite), key);
// In case no RSI is given, use the item's base RSI as a default. This cuts down on a lot of unnecessary yaml entries.
if (layerData.RsiPath == null
&& sprite[index].Rsi == null)
{
if (TryComp<ItemComponent>(held, out var itemComponent) && itemComponent.RsiPath != null)
- sprite.LayerSetRSI(index, itemComponent.RsiPath);
+ _sprite.LayerSetRsi((uid, sprite), index, new ResPath(itemComponent.RsiPath));
else if (TryComp(held, out SpriteComponent? clothingSprite))
- sprite.LayerSetRSI(index, clothingSprite.BaseRSI);
+ _sprite.LayerSetRsi((uid, sprite), index, clothingSprite.BaseRSI);
}
- sprite.LayerSetData(index, layerData);
+ _sprite.LayerSetData((uid, sprite), index, layerData);
// Add displacement maps
var displacement = hand.Location switch
[Dependency] private readonly IOverlayManager _overlay = default!;
[Dependency] private readonly IPlayerManager _player = default!;
[Dependency] private readonly MapSystem _mapSystem = default!;
+ [Dependency] private readonly SpriteSystem _sprite = default!;
public override void Initialize()
{
if (!TryComp<SpriteComponent>(component.Tethered, out var sprite))
return;
- sprite.Color = component.LineColor;
+ _sprite.SetColor((component.Tethered.Value, sprite), component.LineColor);
}
public override void Shutdown()
var player = _player.LocalEntity;
if (player == null ||
- !TryGetTetherGun(player.Value, out var gunUid, out var gun) ||
+ !TryGetTetherGun(player.Value, out _, out var gun) ||
gun.TetherEntity == null)
{
return;
coords = TransformSystem.ToCoordinates(_mapSystem.GetMap(mouseWorldPos.MapId), mouseWorldPos);
}
- const float BufferDistance = 0.1f;
+ const float bufferDistance = 0.1f;
if (TryComp(gun.TetherEntity, out TransformComponent? tetherXform) &&
tetherXform.Coordinates.TryDistance(EntityManager, TransformSystem, coords, out var distance) &&
- distance < BufferDistance)
+ distance < bufferDistance)
{
return;
}
if (TryComp<ForceGunComponent>(component.Tetherer, out var force))
{
- sprite.Color = force.LineColor;
+ _sprite.SetColor((uid, sprite), force.LineColor);
}
else if (TryComp<TetherGunComponent>(component.Tetherer, out var tether))
{
- sprite.Color = tether.LineColor;
+ _sprite.SetColor((uid, sprite), tether.LineColor);
}
}
if (!TryComp<SpriteComponent>(uid, out var sprite))
return;
- sprite.Color = Color.White;
+ _sprite.SetColor((uid, sprite), Color.White);
}
}