Cleanup more SpriteComponent warnings (part 6) (#37607)

* 1 warning in MechAssemblyVisualizerSystem

* 2 warnings in RecyclerVisualizerSystem

* 1 warning in ClusterGrenadeVisualizerSystem

* 2 warnings in BarSignSystem

* 4 warnings in AlertControl

* 1 warning in ToolSystem

* 2 warnings in PinpointerSystem

* 2 warnings in ClientSpriteMovementSystem

* 2 warnings in OptionsVisualizerSystem

* 1 warning in FlatpackSystem

* 1 warning in ZombieSystem

* 1 warning in StackSystem

* 1 warning in MiningOverlay

* 1 warning in FlippableClothingVisualizerSystem

* Guard clause for MechAssemblyVisualizerSystem

* Get SpriteSystem in AlertControl constructor
This commit is contained in:
Tayrtahn
2025-05-19 19:52:03 -04:00
committed by GitHub
parent c6f518de18
commit c5ac160ea8
14 changed files with 48 additions and 37 deletions

View File

@@ -41,12 +41,12 @@ public sealed class BarSignSystem : VisualizerSystem<BarSignComponent>
&& sign.Current != null && sign.Current != null
&& _prototypeManager.TryIndex(sign.Current, out var proto)) && _prototypeManager.TryIndex(sign.Current, out var proto))
{ {
sprite.LayerSetSprite(0, proto.Icon); SpriteSystem.LayerSetSprite((id, sprite), 0, proto.Icon);
sprite.LayerSetShader(0, "unshaded"); sprite.LayerSetShader(0, "unshaded");
} }
else else
{ {
sprite.LayerSetState(0, "empty"); SpriteSystem.LayerSetRsiState((id, sprite), 0, "empty");
sprite.LayerSetShader(0, null, null); sprite.LayerSetShader(0, null, null);
} }
} }

View File

@@ -32,7 +32,7 @@ public sealed class FlippableClothingVisualizerSystem : VisualizerSystem<Flippab
if (clothing.MappedLayer == null || if (clothing.MappedLayer == null ||
!AppearanceSystem.TryGetData<bool>(ent, FoldableSystem.FoldedVisuals.State, out var folding) || !AppearanceSystem.TryGetData<bool>(ent, FoldableSystem.FoldedVisuals.State, out var folding) ||
!sprite.LayerMapTryGet(folding ? ent.Comp.FoldingLayer : ent.Comp.UnfoldingLayer, out var idx)) !SpriteSystem.LayerMapTryGet((ent.Owner, sprite), folding ? ent.Comp.FoldingLayer : ent.Comp.UnfoldingLayer, out var idx, false))
return; return;
// add each layer to the visuals // add each layer to the visuals

View File

@@ -9,6 +9,7 @@ namespace Content.Client.Construction;
public sealed class FlatpackSystem : SharedFlatpackSystem public sealed class FlatpackSystem : SharedFlatpackSystem
{ {
[Dependency] private readonly AppearanceSystem _appearance = default!; [Dependency] private readonly AppearanceSystem _appearance = default!;
[Dependency] private readonly SpriteSystem _sprite = default!;
/// <inheritdoc/> /// <inheritdoc/>
public override void Initialize() public override void Initialize()
@@ -43,6 +44,6 @@ public sealed class FlatpackSystem : SharedFlatpackSystem
} }
if (color != null) if (color != null)
args.Sprite.LayerSetColor(FlatpackVisualLayers.Overlay, color.Value); _sprite.LayerSetColor((ent.Owner, args.Sprite), FlatpackVisualLayers.Overlay, color.Value);
} }
} }

View File

@@ -12,6 +12,6 @@ public sealed class ClusterGrenadeVisualizerSystem : VisualizerSystem<ClusterGre
return; return;
if (AppearanceSystem.TryGetData<int>(uid, ClusterGrenadeVisuals.GrenadesCounter, out var grenadesCounter, args.Component)) if (AppearanceSystem.TryGetData<int>(uid, ClusterGrenadeVisuals.GrenadesCounter, out var grenadesCounter, args.Component))
args.Sprite.LayerSetState(0, $"{comp.State}-{grenadesCounter}"); SpriteSystem.LayerSetRsiState((uid, args.Sprite), 0, $"{comp.State}-{grenadesCounter}");
} }
} }

View File

@@ -8,7 +8,7 @@ public sealed class RecyclerVisualizerSystem : VisualizerSystem<RecyclerVisualsC
{ {
protected override void OnAppearanceChange(EntityUid uid, RecyclerVisualsComponent component, ref AppearanceChangeEvent args) protected override void OnAppearanceChange(EntityUid uid, RecyclerVisualsComponent component, ref AppearanceChangeEvent args)
{ {
if (args.Sprite == null || !args.Sprite.LayerMapTryGet(RecyclerVisualLayers.Main, out var layer)) if (args.Sprite == null || !SpriteSystem.LayerMapTryGet((uid, args.Sprite), RecyclerVisualLayers.Main, out var layer, false))
return; return;
AppearanceSystem.TryGetData<ConveyorState>(uid, ConveyorVisuals.State, out var running); AppearanceSystem.TryGetData<ConveyorState>(uid, ConveyorVisuals.State, out var running);
@@ -22,6 +22,6 @@ public sealed class RecyclerVisualizerSystem : VisualizerSystem<RecyclerVisualsC
var bloodyKey = bloody ? component.BloodyKey : string.Empty; var bloodyKey = bloody ? component.BloodyKey : string.Empty;
var state = $"{component.BaseKey}{activityState}{bloodyKey}"; var state = $"{component.BaseKey}{activityState}{bloodyKey}";
args.Sprite.LayerSetState(layer, state); SpriteSystem.LayerSetRsiState((uid, args.Sprite), layer, state);
} }
} }

View File

@@ -12,13 +12,13 @@ public sealed class MechAssemblyVisualizerSystem : VisualizerSystem<MechAssembly
protected override void OnAppearanceChange(EntityUid uid, MechAssemblyVisualsComponent component, protected override void OnAppearanceChange(EntityUid uid, MechAssemblyVisualsComponent component,
ref AppearanceChangeEvent args) ref AppearanceChangeEvent args)
{ {
base.OnAppearanceChange(uid, component, ref args); if (args.Sprite == null)
return;
if (!AppearanceSystem.TryGetData<int>(uid, MechAssemblyVisuals.State, out var stage, args.Component)) if (!AppearanceSystem.TryGetData<int>(uid, MechAssemblyVisuals.State, out var stage, args.Component))
return; return;
var state = component.StatePrefix + stage; var state = component.StatePrefix + stage;
SpriteSystem.LayerSetRsiState((uid, args.Sprite), 0, state);
args.Sprite?.LayerSetState(0, state);
} }
} }

View File

@@ -62,7 +62,7 @@ public sealed class MiningOverlay : Overlay
if (xform.MapID != args.MapId || !sprite.Visible) if (xform.MapID != args.MapId || !sprite.Visible)
continue; continue;
if (!sprite.LayerMapTryGet(MiningScannerVisualLayers.Overlay, out var idx)) if (!_sprite.LayerMapTryGet((ore, sprite), MiningScannerVisualLayers.Overlay, out var idx, false))
continue; continue;
var layer = sprite[idx]; var layer = sprite[idx];
@@ -85,10 +85,10 @@ public sealed class MiningOverlay : Overlay
var alpha = animTime < viewerComp.AnimationDuration var alpha = animTime < viewerComp.AnimationDuration
? 0 ? 0
: (float) Math.Clamp((animTime - viewerComp.AnimationDuration) / viewerComp.AnimationDuration, 0f, 1f); : (float)Math.Clamp((animTime - viewerComp.AnimationDuration) / viewerComp.AnimationDuration, 0f, 1f);
var color = Color.White.WithAlpha(alpha); var color = Color.White.WithAlpha(alpha);
handle.DrawTexture(texture, -(Vector2) texture.Size / 2f / EyeManager.PixelsPerMeter, layer.Rotation, modulate: color); handle.DrawTexture(texture, -(Vector2)texture.Size / 2f / EyeManager.PixelsPerMeter, layer.Rotation, modulate: color);
} }
handle.SetTransform(Matrix3x2.Identity); handle.SetTransform(Matrix3x2.Identity);

View File

@@ -9,6 +9,8 @@ namespace Content.Client.Movement.Systems;
/// </summary> /// </summary>
public sealed class ClientSpriteMovementSystem : SharedSpriteMovementSystem public sealed class ClientSpriteMovementSystem : SharedSpriteMovementSystem
{ {
[Dependency] private readonly SpriteSystem _sprite = default!;
private EntityQuery<SpriteComponent> _spriteQuery; private EntityQuery<SpriteComponent> _spriteQuery;
public override void Initialize() public override void Initialize()
@@ -29,14 +31,14 @@ public sealed class ClientSpriteMovementSystem : SharedSpriteMovementSystem
{ {
foreach (var (layer, state) in ent.Comp.MovementLayers) foreach (var (layer, state) in ent.Comp.MovementLayers)
{ {
sprite.LayerSetData(layer, state); _sprite.LayerSetData((ent.Owner, sprite), layer, state);
} }
} }
else else
{ {
foreach (var (layer, state) in ent.Comp.NoMovementLayers) foreach (var (layer, state) in ent.Comp.NoMovementLayers)
{ {
sprite.LayerSetData(layer, state); _sprite.LayerSetData((ent.Owner, sprite), layer, state);
} }
} }
} }

View File

@@ -18,6 +18,7 @@ public sealed class OptionsVisualizerSystem : EntitySystem
[Dependency] private readonly IConfigurationManager _cfg = default!; [Dependency] private readonly IConfigurationManager _cfg = default!;
[Dependency] private readonly IReflectionManager _reflection = default!; [Dependency] private readonly IReflectionManager _reflection = default!;
[Dependency] private readonly SpriteSystem _sprite = default!;
private OptionVisualizerOptions _currentOptions; private OptionVisualizerOptions _currentOptions;
@@ -55,9 +56,9 @@ public sealed class OptionsVisualizerSystem : EntitySystem
private void UpdateAllComponents() private void UpdateAllComponents()
{ {
var query = EntityQueryEnumerator<OptionsVisualizerComponent, SpriteComponent>(); var query = EntityQueryEnumerator<OptionsVisualizerComponent, SpriteComponent>();
while (query.MoveNext(out _, out var component, out var sprite)) while (query.MoveNext(out var uid, out var component, out var sprite))
{ {
UpdateComponent(component, sprite); UpdateComponent(uid, component, sprite);
} }
} }
@@ -66,17 +67,13 @@ public sealed class OptionsVisualizerSystem : EntitySystem
if (!TryComp(uid, out SpriteComponent? sprite)) if (!TryComp(uid, out SpriteComponent? sprite))
return; return;
UpdateComponent(component, sprite); UpdateComponent(uid, component, sprite);
} }
private void UpdateComponent(OptionsVisualizerComponent component, SpriteComponent sprite) private void UpdateComponent(EntityUid uid, OptionsVisualizerComponent component, SpriteComponent sprite)
{ {
foreach (var (layerKeyRaw, layerData) in component.Visuals) foreach (var (layerKeyRaw, layerData) in component.Visuals)
{ {
object layerKey = _reflection.TryParseEnumReference(layerKeyRaw, out var @enum)
? @enum
: layerKeyRaw;
OptionsVisualizerComponent.LayerDatum? matchedDatum = null; OptionsVisualizerComponent.LayerDatum? matchedDatum = null;
foreach (var datum in layerData) foreach (var datum in layerData)
{ {
@@ -89,8 +86,11 @@ public sealed class OptionsVisualizerSystem : EntitySystem
if (matchedDatum == null) if (matchedDatum == null)
continue; continue;
var layerIndex = sprite.LayerMapReserveBlank(layerKey); var layerIndex = _reflection.TryParseEnumReference(layerKeyRaw, out var @enum)
sprite.LayerSetData(layerIndex, matchedDatum.Data); ? _sprite.LayerMapReserve((uid, sprite), @enum)
: _sprite.LayerMapReserve((uid, sprite), layerKeyRaw);
_sprite.LayerSetData((uid, sprite), layerIndex, matchedDatum.Data);
} }
} }
} }

View File

@@ -7,6 +7,7 @@ namespace Content.Client.Pinpointer;
public sealed class PinpointerSystem : SharedPinpointerSystem public sealed class PinpointerSystem : SharedPinpointerSystem
{ {
[Dependency] private readonly IEyeManager _eyeManager = default!; [Dependency] private readonly IEyeManager _eyeManager = default!;
[Dependency] private readonly SpriteSystem _sprite = default!;
public override void Update(float frameTime) public override void Update(float frameTime)
{ {
@@ -18,7 +19,7 @@ public sealed class PinpointerSystem : SharedPinpointerSystem
// because eye can change it rotation anytime // because eye can change it rotation anytime
// we need to update this arrow in a update loop // we need to update this arrow in a update loop
var query = EntityQueryEnumerator<PinpointerComponent, SpriteComponent>(); var query = EntityQueryEnumerator<PinpointerComponent, SpriteComponent>();
while (query.MoveNext(out var _, out var pinpointer, out var sprite)) while (query.MoveNext(out var uid, out var pinpointer, out var sprite))
{ {
if (!pinpointer.HasTarget) if (!pinpointer.HasTarget)
continue; continue;
@@ -30,10 +31,10 @@ public sealed class PinpointerSystem : SharedPinpointerSystem
case Distance.Close: case Distance.Close:
case Distance.Medium: case Distance.Medium:
case Distance.Far: case Distance.Far:
sprite.LayerSetRotation(PinpointerLayers.Screen, angle); _sprite.LayerSetRotation((uid, sprite), PinpointerLayers.Screen, angle);
break; break;
default: default:
sprite.LayerSetRotation(PinpointerLayers.Screen, Angle.Zero); _sprite.LayerSetRotation((uid, sprite), PinpointerLayers.Screen, Angle.Zero);
break; break;
} }
} }

View File

@@ -12,6 +12,7 @@ namespace Content.Client.Stack
{ {
[Dependency] private readonly AppearanceSystem _appearanceSystem = default!; [Dependency] private readonly AppearanceSystem _appearanceSystem = default!;
[Dependency] private readonly ItemCounterSystem _counterSystem = default!; [Dependency] private readonly ItemCounterSystem _counterSystem = default!;
[Dependency] private readonly SpriteSystem _sprite = default!;
public override void Initialize() public override void Initialize()
{ {
@@ -37,7 +38,7 @@ namespace Content.Client.Stack
for (var i = 0; i < sprite.AllLayers.Count(); i++) for (var i = 0; i < sprite.AllLayers.Count(); i++)
{ {
sprite.LayerSetColor(i, color); _sprite.LayerSetColor((uid, sprite), i, color);
} }
} }
@@ -107,7 +108,7 @@ namespace Content.Client.Stack
/// <param name="maxCount">The maximum possible number of items in the stack. Will be set to the number of selectable layers.</param> /// <param name="maxCount">The maximum possible number of items in the stack. Will be set to the number of selectable layers.</param>
private static void ApplyThreshold(StackLayerThresholdComponent comp, ref int actual, ref int maxCount) private static void ApplyThreshold(StackLayerThresholdComponent comp, ref int actual, ref int maxCount)
{ {
// We must stop before we run out of thresholds or layers, whichever's smaller. // We must stop before we run out of thresholds or layers, whichever's smaller.
maxCount = Math.Min(comp.Thresholds.Count + 1, maxCount); maxCount = Math.Min(comp.Thresholds.Count + 1, maxCount);
var newActual = 0; var newActual = 0;
foreach (var threshold in comp.Thresholds) foreach (var threshold in comp.Thresholds)

View File

@@ -9,6 +9,8 @@ namespace Content.Client.Tools
{ {
public sealed class ToolSystem : SharedToolSystem public sealed class ToolSystem : SharedToolSystem
{ {
[Dependency] private readonly SpriteSystem _sprite = default!;
public override void Initialize() public override void Initialize()
{ {
base.Initialize(); base.Initialize();
@@ -36,7 +38,7 @@ namespace Content.Client.Tools
{ {
var current = multiple.Entries[multiple.CurrentEntry]; var current = multiple.Entries[multiple.CurrentEntry];
if (current.Sprite != null) if (current.Sprite != null)
sprite.LayerSetSprite(0, current.Sprite); _sprite.LayerSetSprite((uid, sprite), 0, current.Sprite);
} }
} }
} }

View File

@@ -14,6 +14,8 @@ namespace Content.Client.UserInterface.Systems.Alerts.Controls
{ {
[Dependency] private readonly IEntityManager _entityManager = default!; [Dependency] private readonly IEntityManager _entityManager = default!;
private readonly SpriteSystem _sprite;
public AlertPrototype Alert { get; } public AlertPrototype Alert { get; }
/// <summary> /// <summary>
@@ -52,6 +54,7 @@ namespace Content.Client.UserInterface.Systems.Alerts.Controls
MuteSounds = true; MuteSounds = true;
IoCManager.InjectDependencies(this); IoCManager.InjectDependencies(this);
_sprite = _entityManager.System<SpriteSystem>();
TooltipSupplier = SupplyTooltip; TooltipSupplier = SupplyTooltip;
Alert = alert; Alert = alert;
_severity = severity; _severity = severity;
@@ -74,7 +77,7 @@ namespace Content.Client.UserInterface.Systems.Alerts.Controls
{ {
var msg = FormattedMessage.FromMarkupOrThrow(Loc.GetString(Alert.Name)); var msg = FormattedMessage.FromMarkupOrThrow(Loc.GetString(Alert.Name));
var desc = FormattedMessage.FromMarkupOrThrow(Loc.GetString(Alert.Description)); var desc = FormattedMessage.FromMarkupOrThrow(Loc.GetString(Alert.Description));
return new ActionAlertTooltip(msg, desc) {Cooldown = Cooldown}; return new ActionAlertTooltip(msg, desc) { Cooldown = Cooldown };
} }
/// <summary> /// <summary>
@@ -89,8 +92,8 @@ namespace Content.Client.UserInterface.Systems.Alerts.Controls
if (!_entityManager.TryGetComponent<SpriteComponent>(_spriteViewEntity, out var sprite)) if (!_entityManager.TryGetComponent<SpriteComponent>(_spriteViewEntity, out var sprite))
return; return;
var icon = Alert.GetIcon(_severity); var icon = Alert.GetIcon(_severity);
if (sprite.LayerMapTryGet(AlertVisualLayers.Base, out var layer)) if (_sprite.LayerMapTryGet((_spriteViewEntity, sprite), AlertVisualLayers.Base, out var layer, false))
sprite.LayerSetSprite(layer, icon); _sprite.LayerSetSprite((_spriteViewEntity, sprite), layer, icon);
} }
protected override void FrameUpdate(FrameEventArgs args) protected override void FrameUpdate(FrameEventArgs args)
@@ -117,8 +120,8 @@ namespace Content.Client.UserInterface.Systems.Alerts.Controls
if (_entityManager.TryGetComponent<SpriteComponent>(_spriteViewEntity, out var sprite)) if (_entityManager.TryGetComponent<SpriteComponent>(_spriteViewEntity, out var sprite))
{ {
var icon = Alert.GetIcon(_severity); var icon = Alert.GetIcon(_severity);
if (sprite.LayerMapTryGet(AlertVisualLayers.Base, out var layer)) if (_sprite.LayerMapTryGet((_spriteViewEntity, sprite), AlertVisualLayers.Base, out var layer, false))
sprite.LayerSetSprite(layer, icon); _sprite.LayerSetSprite((_spriteViewEntity, sprite), layer, icon);
} }
_icon.SetEntity(_spriteViewEntity); _icon.SetEntity(_spriteViewEntity);

View File

@@ -12,6 +12,7 @@ namespace Content.Client.Zombies;
public sealed class ZombieSystem : SharedZombieSystem public sealed class ZombieSystem : SharedZombieSystem
{ {
[Dependency] private readonly IPrototypeManager _prototype = default!; [Dependency] private readonly IPrototypeManager _prototype = default!;
[Dependency] private readonly SpriteSystem _sprite = default!;
public override void Initialize() public override void Initialize()
{ {
@@ -47,7 +48,7 @@ public sealed class ZombieSystem : SharedZombieSystem
for (var i = 0; i < sprite.AllLayers.Count(); i++) for (var i = 0; i < sprite.AllLayers.Count(); i++)
{ {
sprite.LayerSetColor(i, component.SkinColor); _sprite.LayerSetColor((uid, sprite), i, component.SkinColor);
} }
} }
} }