]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Cleanup more `SpriteComponent` warnings (part 6) (#37607)
authorTayrtahn <tayrtahn@gmail.com>
Mon, 19 May 2025 23:52:03 +0000 (19:52 -0400)
committerGitHub <noreply@github.com>
Mon, 19 May 2025 23:52:03 +0000 (01:52 +0200)
* 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

14 files changed:
Content.Client/BarSign/BarSignSystem.cs
Content.Client/Clothing/FlippableClothingVisualizerSystem.cs
Content.Client/Construction/FlatpackSystem.cs
Content.Client/Explosion/ClusterGrenadeVisualizerSystem.cs
Content.Client/Materials/RecyclerVisualizerSystem.cs
Content.Client/Mech/MechAssemblyVisualizerSystem.cs
Content.Client/Mining/MiningOverlay.cs
Content.Client/Movement/Systems/ClientSpriteMovementSystem.cs
Content.Client/Options/OptionsVisualizerSystem.cs
Content.Client/Pinpointer/PinpointerSystem.cs
Content.Client/Stack/StackSystem.cs
Content.Client/Tools/ToolSystem.cs
Content.Client/UserInterface/Systems/Alerts/Controls/AlertControl.cs
Content.Client/Zombies/ZombieSystem.cs

index 9fd8ba2e4b4f9c75914427e46aae7ce445f3104c..02e33861b74b9f84b3a769bf0f83c659f49013bf 100644 (file)
@@ -41,12 +41,12 @@ public sealed class BarSignSystem : VisualizerSystem<BarSignComponent>
             && sign.Current != null
             && _prototypeManager.TryIndex(sign.Current, out var proto))
         {
-            sprite.LayerSetSprite(0, proto.Icon);
+            SpriteSystem.LayerSetSprite((id, sprite), 0, proto.Icon);
             sprite.LayerSetShader(0, "unshaded");
         }
         else
         {
-            sprite.LayerSetState(0, "empty");
+            SpriteSystem.LayerSetRsiState((id, sprite), 0, "empty");
             sprite.LayerSetShader(0, null, null);
         }
     }
index 1f09ae9eebbbd582bff201f68eac5c8a9c97bed2..d6e4508f5419fa141a40f138c8bbd959220babf8 100644 (file)
@@ -32,7 +32,7 @@ public sealed class FlippableClothingVisualizerSystem : VisualizerSystem<Flippab
 
         if (clothing.MappedLayer == null ||
             !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;
 
         // add each layer to the visuals
index f39c2327ca4cbe802798370c201ff1824be00d17..7d9b5faaa25d7a0258f85eb4e3f6500db83cd9af 100644 (file)
@@ -9,6 +9,7 @@ namespace Content.Client.Construction;
 public sealed class FlatpackSystem : SharedFlatpackSystem
 {
     [Dependency] private readonly AppearanceSystem _appearance = default!;
+    [Dependency] private readonly SpriteSystem _sprite = default!;
 
     /// <inheritdoc/>
     public override void Initialize()
@@ -43,6 +44,6 @@ public sealed class FlatpackSystem : SharedFlatpackSystem
         }
 
         if (color != null)
-            args.Sprite.LayerSetColor(FlatpackVisualLayers.Overlay, color.Value);
+            _sprite.LayerSetColor((ent.Owner, args.Sprite), FlatpackVisualLayers.Overlay, color.Value);
     }
 }
index c8171742dc2ae346dda76d4ffa3dcbfa16a6b1ff..025d72270ea8ea8c8950dd8456e1ca1339628abd 100644 (file)
@@ -12,6 +12,6 @@ public sealed class ClusterGrenadeVisualizerSystem : VisualizerSystem<ClusterGre
             return;
 
         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}");
     }
 }
index 646ae406aa0f16fa5952dc079beca062000b7d77..9c6006c5dec67df32246b7890c6914b64f7a2676 100644 (file)
@@ -8,7 +8,7 @@ public sealed class RecyclerVisualizerSystem : VisualizerSystem<RecyclerVisualsC
 {
     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;
 
         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 state = $"{component.BaseKey}{activityState}{bloodyKey}";
-        args.Sprite.LayerSetState(layer, state);
+        SpriteSystem.LayerSetRsiState((uid, args.Sprite), layer, state);
     }
 }
index cc89eb71f3fcf6b13dd20cca4b493f018f09916a..2018b5d73af3f02902b793203b12dda6b943067e 100644 (file)
@@ -12,13 +12,13 @@ public sealed class MechAssemblyVisualizerSystem : VisualizerSystem<MechAssembly
     protected override void OnAppearanceChange(EntityUid uid, MechAssemblyVisualsComponent component,
         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))
             return;
 
         var state = component.StatePrefix + stage;
-
-        args.Sprite?.LayerSetState(0, state);
+        SpriteSystem.LayerSetRsiState((uid, args.Sprite), 0, state);
     }
 }
index b23835b36ee91c4ae89dd7a93cb53cf15750a727..f4140f064feb335913c1543f7ec200880cbbe2c5 100644 (file)
@@ -62,7 +62,7 @@ public sealed class MiningOverlay : Overlay
             if (xform.MapID != args.MapId || !sprite.Visible)
                 continue;
 
-            if (!sprite.LayerMapTryGet(MiningScannerVisualLayers.Overlay, out var idx))
+            if (!_sprite.LayerMapTryGet((ore, sprite), MiningScannerVisualLayers.Overlay, out var idx, false))
                 continue;
             var layer = sprite[idx];
 
@@ -85,10 +85,10 @@ public sealed class MiningOverlay : Overlay
 
             var alpha = animTime < viewerComp.AnimationDuration
                 ? 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);
 
-            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);
index a6265204b7169e47474e02ba7904fd8b16d2bfcf..eb60e4fbb6d638bfdbbb6206715c8d9cf0e607a3 100644 (file)
@@ -9,6 +9,8 @@ namespace Content.Client.Movement.Systems;
 /// </summary>
 public sealed class ClientSpriteMovementSystem : SharedSpriteMovementSystem
 {
+    [Dependency] private readonly SpriteSystem _sprite = default!;
+
     private EntityQuery<SpriteComponent> _spriteQuery;
 
     public override void Initialize()
@@ -29,14 +31,14 @@ public sealed class ClientSpriteMovementSystem : SharedSpriteMovementSystem
         {
             foreach (var (layer, state) in ent.Comp.MovementLayers)
             {
-                sprite.LayerSetData(layer, state);
+                _sprite.LayerSetData((ent.Owner, sprite), layer, state);
             }
         }
         else
         {
             foreach (var (layer, state) in ent.Comp.NoMovementLayers)
             {
-                sprite.LayerSetData(layer, state);
+                _sprite.LayerSetData((ent.Owner, sprite), layer, state);
             }
         }
     }
index 2a297e3802adc08de30613b63570f7f845e4ad0f..1876b9bf55ddc1013348e35207326c4329fb3ec1 100644 (file)
@@ -18,6 +18,7 @@ public sealed class OptionsVisualizerSystem : EntitySystem
 
     [Dependency] private readonly IConfigurationManager _cfg = default!;
     [Dependency] private readonly IReflectionManager _reflection = default!;
+    [Dependency] private readonly SpriteSystem _sprite = default!;
 
     private OptionVisualizerOptions _currentOptions;
 
@@ -55,9 +56,9 @@ public sealed class OptionsVisualizerSystem : EntitySystem
     private void UpdateAllComponents()
     {
         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))
             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)
         {
-            object layerKey = _reflection.TryParseEnumReference(layerKeyRaw, out var @enum)
-                ? @enum
-                : layerKeyRaw;
-
             OptionsVisualizerComponent.LayerDatum? matchedDatum = null;
             foreach (var datum in layerData)
             {
@@ -89,8 +86,11 @@ public sealed class OptionsVisualizerSystem : EntitySystem
             if (matchedDatum == null)
                 continue;
 
-            var layerIndex = sprite.LayerMapReserveBlank(layerKey);
-            sprite.LayerSetData(layerIndex, matchedDatum.Data);
+            var layerIndex = _reflection.TryParseEnumReference(layerKeyRaw, out var @enum)
+                ? _sprite.LayerMapReserve((uid, sprite), @enum)
+                : _sprite.LayerMapReserve((uid, sprite), layerKeyRaw);
+
+            _sprite.LayerSetData((uid, sprite), layerIndex, matchedDatum.Data);
         }
     }
 }
index 486241b56b32dd0aa95a95b627f28fbaaae8c111..5cab0639582c2fd3fe7c347951322697382158a7 100644 (file)
@@ -7,6 +7,7 @@ namespace Content.Client.Pinpointer;
 public sealed class PinpointerSystem : SharedPinpointerSystem
 {
     [Dependency] private readonly IEyeManager _eyeManager = default!;
+    [Dependency] private readonly SpriteSystem _sprite = default!;
 
     public override void Update(float frameTime)
     {
@@ -18,7 +19,7 @@ public sealed class PinpointerSystem : SharedPinpointerSystem
         // because eye can change it rotation anytime
         // we need to update this arrow in a update loop
         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)
                 continue;
@@ -30,10 +31,10 @@ public sealed class PinpointerSystem : SharedPinpointerSystem
                 case Distance.Close:
                 case Distance.Medium:
                 case Distance.Far:
-                    sprite.LayerSetRotation(PinpointerLayers.Screen, angle);
+                    _sprite.LayerSetRotation((uid, sprite), PinpointerLayers.Screen, angle);
                     break;
                 default:
-                    sprite.LayerSetRotation(PinpointerLayers.Screen, Angle.Zero);
+                    _sprite.LayerSetRotation((uid, sprite), PinpointerLayers.Screen, Angle.Zero);
                     break;
             }
         }
index 17e502675cf9295ace264ba601f8f724e2ff6e64..d12e9900a6e2a848fa1e6dd282b7486452c8f228 100644 (file)
@@ -12,6 +12,7 @@ namespace Content.Client.Stack
     {
         [Dependency] private readonly AppearanceSystem _appearanceSystem = default!;
         [Dependency] private readonly ItemCounterSystem _counterSystem = default!;
+        [Dependency] private readonly SpriteSystem _sprite = default!;
 
         public override void Initialize()
         {
@@ -37,7 +38,7 @@ namespace Content.Client.Stack
 
                 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>
         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);
             var newActual = 0;
             foreach (var threshold in comp.Thresholds)
index 2207242918ea73abc4ff42c308f9699f59217cad..39d6e67ac96fb5c48e5f54292553567d73995e41 100644 (file)
@@ -9,6 +9,8 @@ namespace Content.Client.Tools
 {
     public sealed class ToolSystem : SharedToolSystem
     {
+        [Dependency] private readonly SpriteSystem _sprite = default!;
+
         public override void Initialize()
         {
             base.Initialize();
@@ -36,7 +38,7 @@ namespace Content.Client.Tools
             {
                 var current = multiple.Entries[multiple.CurrentEntry];
                 if (current.Sprite != null)
-                    sprite.LayerSetSprite(0, current.Sprite);
+                    _sprite.LayerSetSprite((uid, sprite), 0, current.Sprite);
             }
         }
     }
index 4e803a20b1573681084efd85c5153b749731f1b2..847b25358687ee5b498a063ffb4ffb945eef35c3 100644 (file)
@@ -14,6 +14,8 @@ namespace Content.Client.UserInterface.Systems.Alerts.Controls
     {
         [Dependency] private readonly IEntityManager _entityManager = default!;
 
+        private readonly SpriteSystem _sprite;
+
         public AlertPrototype Alert { get; }
 
         /// <summary>
@@ -52,6 +54,7 @@ namespace Content.Client.UserInterface.Systems.Alerts.Controls
             MuteSounds = true;
 
             IoCManager.InjectDependencies(this);
+            _sprite = _entityManager.System<SpriteSystem>();
             TooltipSupplier = SupplyTooltip;
             Alert = alert;
             _severity = severity;
@@ -74,7 +77,7 @@ namespace Content.Client.UserInterface.Systems.Alerts.Controls
         {
             var msg = FormattedMessage.FromMarkupOrThrow(Loc.GetString(Alert.Name));
             var desc = FormattedMessage.FromMarkupOrThrow(Loc.GetString(Alert.Description));
-            return new ActionAlertTooltip(msg, desc) {Cooldown = Cooldown};
+            return new ActionAlertTooltip(msg, desc) { Cooldown = Cooldown };
         }
 
         /// <summary>
@@ -89,8 +92,8 @@ namespace Content.Client.UserInterface.Systems.Alerts.Controls
             if (!_entityManager.TryGetComponent<SpriteComponent>(_spriteViewEntity, out var sprite))
                 return;
             var icon = Alert.GetIcon(_severity);
-            if (sprite.LayerMapTryGet(AlertVisualLayers.Base, out var layer))
-                sprite.LayerSetSprite(layer, icon);
+            if (_sprite.LayerMapTryGet((_spriteViewEntity, sprite), AlertVisualLayers.Base, out var layer, false))
+                _sprite.LayerSetSprite((_spriteViewEntity, sprite), layer, icon);
         }
 
         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))
             {
                 var icon = Alert.GetIcon(_severity);
-                if (sprite.LayerMapTryGet(AlertVisualLayers.Base, out var layer))
-                    sprite.LayerSetSprite(layer, icon);
+                if (_sprite.LayerMapTryGet((_spriteViewEntity, sprite), AlertVisualLayers.Base, out var layer, false))
+                    _sprite.LayerSetSprite((_spriteViewEntity, sprite), layer, icon);
             }
 
             _icon.SetEntity(_spriteViewEntity);
index d250e418504f6fde22852ad3fcbc8bee59a49b43..822f116e474c76d5586ee3ccb8bc63fd78c66bfb 100644 (file)
@@ -12,6 +12,7 @@ namespace Content.Client.Zombies;
 public sealed class ZombieSystem : SharedZombieSystem
 {
     [Dependency] private readonly IPrototypeManager _prototype = default!;
+    [Dependency] private readonly SpriteSystem _sprite = default!;
 
     public override void Initialize()
     {
@@ -47,7 +48,7 @@ public sealed class ZombieSystem : SharedZombieSystem
 
         for (var i = 0; i < sprite.AllLayers.Count(); i++)
         {
-            sprite.LayerSetColor(i, component.SkinColor);
+            _sprite.LayerSetColor((uid, sprite), i, component.SkinColor);
         }
     }
 }