]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Cleanup more `SpriteComponent` warnings (part 5) (#37590)
authorTayrtahn <tayrtahn@gmail.com>
Mon, 19 May 2025 01:09:47 +0000 (21:09 -0400)
committerGitHub <noreply@github.com>
Mon, 19 May 2025 01:09:47 +0000 (03:09 +0200)
* 1 warning in KudzuVisualizerSystem

* 2 warnings in ChameleonProjectorSystem

* 1 warning in MarkerSystem

* 2 warnings in ItemSystem

* 1 warning in GhostToggleSelfVisibility

* 1 warning in FoamVisualizerSystem

* 1 warning in ClickableTest

* 1 warning in ThrownItemVisualizerSystem

* 2 warnings in InfantSystem

* 1 warning in ChasmFallingVisualsSystem

* 1 warning in PotencyVisualsSystem

* 2 warnings in OrbitVisualsSystem

* 2 warnings in BeamSystem

* 1 warning in JitteringSystem

* 1 warning in CardboardBoxSystem

* 2 warnings in StationAiSystem

* 2 warnings in FirelockSystem

* 2 warnings in CargoSystem.Telepad

* 1 warning in StasisBedSystem

* 2 warnings in WeldableVisualizerSystem

* 2 warnings in DeliveryVisualizerSystem

* 1 warning in TimerTriggerVisualizerSystem

* 1 warning in StorageFillVisualizerSystem

* 2 warnings in RadiationCollectorSystem

* 2 warnings in BorgSwitchableTypeSystem

* 1 warning in TurnstileSystem

* 1 warning in SurveillanceCameraVisualsSystem

* 1 warning in BurnStateVisualizerSystem

* 2 warnings in CableVisualizerSystem

* 1 warning in JetpackSystem

30 files changed:
Content.Client/Beam/BeamSystem.cs
Content.Client/Bed/StasisBedSystem.cs
Content.Client/Botany/PotencyVisualsSystem.cs
Content.Client/CardboardBox/CardboardBoxSystem.cs
Content.Client/Cargo/Systems/CargoSystem.Telepad.cs
Content.Client/Chasm/ChasmFallingVisualsSystem.cs
Content.Client/Chemistry/Visualizers/FoamVisualizerSystem.cs
Content.Client/Delivery/DeliveryVisualizerSystem.cs
Content.Client/Doors/FirelockSystem.cs
Content.Client/Doors/TurnstileSystem.cs
Content.Client/Ghost/GhostToggleSelfVisibility.cs
Content.Client/Items/Systems/ItemSystem.cs
Content.Client/Jittering/JitteringSystem.cs
Content.Client/Kudzu/KudzuVisualizerSystem.cs
Content.Client/Markers/MarkerSystem.cs
Content.Client/Movement/Systems/JetpackSystem.cs
Content.Client/Nutrition/EntitySystems/InfantSystem.cs
Content.Client/Orbit/OrbitVisualsSystem.cs
Content.Client/Polymorph/Systems/ChameleonProjectorSystem.cs
Content.Client/Power/Visualizers/CableVisualizerSystem.cs
Content.Client/Silicons/Borgs/BorgSwitchableTypeSystem.cs
Content.Client/Silicons/StationAi/StationAiSystem.cs
Content.Client/Singularity/Visualizers/RadiationCollectorSystem.cs
Content.Client/Smoking/BurnStateVisualizerSystem.cs
Content.Client/Storage/Visualizers/StorageFillVisualizerSystem.cs
Content.Client/SurveillanceCamera/SurveillanceCameraVisualsSystem.cs
Content.Client/Throwing/ThrownItemVisualizerSystem.cs
Content.Client/Tools/Visualizers/WeldableVisualizerSystem.cs
Content.Client/Trigger/TimerTriggerVisualizerSystem.cs
Content.IntegrationTests/Tests/ClickableTest.cs

index 4749d4d29b80938b1d60953db1682f555ef673f9..66975d53a7faab83df4900043dd6296c34f47dac 100644 (file)
@@ -7,6 +7,8 @@ namespace Content.Client.Beam;
 
 public sealed class BeamSystem : SharedBeamSystem
 {
+    [Dependency] private readonly SpriteSystem _sprite = default!;
+
     public override void Initialize()
     {
         base.Initialize();
@@ -21,11 +23,11 @@ public sealed class BeamSystem : SharedBeamSystem
 
         if (TryComp<SpriteComponent>(beam, out var sprites))
         {
-            sprites.Rotation = args.UserAngle;
+            _sprite.SetRotation((beam, sprites), args.UserAngle);
 
             if (args.BodyState != null)
             {
-                sprites.LayerSetState(0, args.BodyState);
+                _sprite.LayerSetRsiState((beam, sprites), 0, args.BodyState);
                 sprites.LayerSetShader(0, args.Shader);
             }
         }
index 66ec2f3245a403b7e736d348e19f934f2914ae9b..6065ec839fa14324ffeab0d99835205908f4adfe 100644 (file)
@@ -10,7 +10,7 @@ public sealed class StasisBedSystem : VisualizerSystem<StasisBedVisualsComponent
         if (args.Sprite != null
             && AppearanceSystem.TryGetData<bool>(uid, StasisBedVisuals.IsOn, out var isOn, args.Component))
         {
-            args.Sprite.LayerSetVisible(StasisBedVisualLayers.IsOn, isOn);
+            SpriteSystem.LayerSetVisible((uid, args.Sprite), StasisBedVisualLayers.IsOn, isOn);
         }
     }
 }
index cd64a17f32d4480e31761eaeee9e72d03c8f2469..93b2b7e7c79f93d5eaf70ebc517c111faad2ac5f 100644 (file)
@@ -15,7 +15,7 @@ public sealed class PotencyVisualsSystem : VisualizerSystem<PotencyVisualsCompon
         if (AppearanceSystem.TryGetData<float>(uid, ProduceVisuals.Potency, out var potency, args.Component))
         {
             var scale = MathHelper.Lerp(component.MinimumScale, component.MaximumScale, potency / 100);
-            args.Sprite.Scale = new Vector2(scale, scale);
+            SpriteSystem.SetScale((uid, args.Sprite), new Vector2(scale, scale));
         }
     }
 }
index 925013db109d9f4dd2ae520bfdd2f55c766e1257..e52ce03a76765df03981ec14c448304e083749a3 100644 (file)
@@ -13,6 +13,7 @@ public sealed class CardboardBoxSystem : SharedCardboardBoxSystem
     [Dependency] private readonly EntityLookupSystem _entityLookup = default!;
     [Dependency] private readonly TransformSystem _transform = default!;
     [Dependency] private readonly ExamineSystemShared _examine = default!;
+    [Dependency] private readonly SpriteSystem _sprite = default!;
 
     private EntityQuery<BodyComponent> _bodyQuery;
 
@@ -74,7 +75,7 @@ public sealed class CardboardBoxSystem : SharedCardboardBoxSystem
             if (!xformQuery.TryGetComponent(ent, out var entTransform) || !TryComp<SpriteComponent>(ent, out var sprite))
                 continue;
 
-            sprite.Offset = new Vector2(0, 1);
+            _sprite.SetOffset((ent, sprite), new Vector2(0, 1));
             _transform.SetParent(ent, entTransform, mob);
         }
 
index 99f9b34387b37d4c901ce7ecccad6763b1982c5d..85b2dbfb8344057037f5a7451192df8992d2f88f 100644 (file)
@@ -10,6 +10,7 @@ namespace Content.Client.Cargo.Systems;
 public sealed partial class CargoSystem
 {
     [Dependency] private readonly SharedAppearanceSystem _appearance = default!;
+    [Dependency] private readonly SpriteSystem _sprite = default!;
 
     private static readonly Animation CargoTelepadBeamAnimation = new()
     {
@@ -80,12 +81,12 @@ public sealed partial class CargoSystem
                     _player.Play((uid, player), CargoTelepadBeamAnimation, TelepadBeamKey);
                 break;
             case CargoTelepadState.Unpowered:
-                sprite.LayerSetVisible(CargoTelepadLayers.Beam, false);
+                _sprite.LayerSetVisible((uid, sprite), CargoTelepadLayers.Beam, false);
                 _player.Stop(uid, player, TelepadBeamKey);
                 _player.Stop(uid, player, TelepadIdleKey);
                 break;
             default:
-                sprite.LayerSetVisible(CargoTelepadLayers.Beam, true);
+                _sprite.LayerSetVisible((uid, sprite), CargoTelepadLayers.Beam, true);
 
                 if (_player.HasRunningAnimation(uid, player, TelepadIdleKey) ||
                     _player.HasRunningAnimation(uid, player, TelepadBeamKey))
index 204b90a8d83a33f0d432f2e7dfbcc2178877ac4c..767a9b747d022f7d6194986323727f629c701170 100644 (file)
@@ -11,6 +11,7 @@ namespace Content.Client.Chasm;
 public sealed class ChasmFallingVisualsSystem : EntitySystem
 {
     [Dependency] private readonly AnimationPlayerSystem _anim = default!;
+    [Dependency] private readonly SpriteSystem _sprite = default!;
 
     private readonly string _chasmFallAnimationKey = "chasm_fall";
 
@@ -46,7 +47,7 @@ public sealed class ChasmFallingVisualsSystem : EntitySystem
         if (!TryComp<SpriteComponent>(uid, out var sprite))
             return;
 
-        sprite.Scale = component.OriginalScale;
+        _sprite.SetScale((uid, sprite), component.OriginalScale);
 
         if (!TryComp<AnimationPlayerComponent>(uid, out var player))
             return;
index 2f895718c71b4927b0ba21a75cf0e5af8d2804aa..00a29563c1ef2148b491718b01f689544dfb1a38 100644 (file)
@@ -11,6 +11,7 @@ namespace Content.Client.Chemistry.Visualizers;
 public sealed class FoamVisualizerSystem : VisualizerSystem<FoamVisualsComponent>
 {
     [Dependency] private readonly IGameTiming _timing = default!;
+    [Dependency] private readonly SpriteSystem _sprite = default!;
 
     public override void Initialize()
     {
@@ -71,7 +72,7 @@ public sealed class FoamVisualizerSystem : VisualizerSystem<FoamVisualsComponent
             return;
 
         if (TryComp<SpriteComponent>(uid, out var sprite))
-            sprite.Visible = false;
+            _sprite.SetVisible((uid, sprite), false);
     }
 }
 
index 68149e248d68488594ae352a96f5b4219ea977c8..846688149f6b23dc41214dd03e84444eb67b9e34 100644 (file)
@@ -9,7 +9,6 @@ public sealed class DeliveryVisualizerSystem : VisualizerSystem<DeliveryComponen
 {
     [Dependency] private readonly SharedAppearanceSystem _appearance = default!;
     [Dependency] private readonly IPrototypeManager _prototype = default!;
-    [Dependency] private readonly SpriteSystem _sprite = default!;
 
     private static readonly ProtoId<JobIconPrototype> UnknownIcon = "JobIconUnknown";
 
@@ -25,11 +24,11 @@ public sealed class DeliveryVisualizerSystem : VisualizerSystem<DeliveryComponen
 
         if (!_prototype.TryIndex<JobIconPrototype>(job, out var icon))
         {
-            args.Sprite.LayerSetTexture(DeliveryVisualLayers.JobStamp, _sprite.Frame0(_prototype.Index("JobIconUnknown")));
+            SpriteSystem.LayerSetTexture((uid, args.Sprite), DeliveryVisualLayers.JobStamp, SpriteSystem.Frame0(_prototype.Index("JobIconUnknown")));
             return;
         }
 
-        args.Sprite.LayerSetTexture(DeliveryVisualLayers.JobStamp, _sprite.Frame0(icon.Icon));
+        SpriteSystem.LayerSetTexture((uid, args.Sprite), DeliveryVisualLayers.JobStamp, SpriteSystem.Frame0(icon.Icon));
     }
 }
 
index 5d357c0c0921df4687a3651b5da6f02ff0bda137..6960f14f32cc2a088b50c4f3e2ee7d016b3b9080 100644 (file)
@@ -8,6 +8,7 @@ namespace Content.Client.Doors;
 public sealed class FirelockSystem : SharedFirelockSystem
 {
     [Dependency] private readonly SharedAppearanceSystem _appearanceSystem = default!;
+    [Dependency] private readonly SpriteSystem _sprite = default!;
 
     public override void Initialize()
     {
@@ -18,7 +19,7 @@ public sealed class FirelockSystem : SharedFirelockSystem
     protected override void OnComponentStartup(Entity<FirelockComponent> ent, ref ComponentStartup args)
     {
         base.OnComponentStartup(ent, ref args);
-        if(!TryComp<DoorComponent>(ent.Owner, out var door))
+        if (!TryComp<DoorComponent>(ent.Owner, out var door))
             return;
 
         door.ClosedSpriteStates.Add((DoorVisualLayers.BaseUnlit, ent.Comp.WarningLightSpriteState));
@@ -57,7 +58,7 @@ public sealed class FirelockSystem : SharedFirelockSystem
             ||  state == DoorState.Denying
             || (_appearanceSystem.TryGetData<bool>(uid, DoorVisuals.ClosedLights, out var closedLights, args.Component) && closedLights);
 
-        args.Sprite.LayerSetVisible(DoorVisualLayers.BaseUnlit, unlitVisible && !boltedVisible);
-        args.Sprite.LayerSetVisible(DoorVisualLayers.BaseBolted, boltedVisible);
+        _sprite.LayerSetVisible((uid, args.Sprite), DoorVisualLayers.BaseUnlit, unlitVisible && !boltedVisible);
+        _sprite.LayerSetVisible((uid, args.Sprite), DoorVisualLayers.BaseBolted, boltedVisible);
     }
 }
index 6e76ce6aa0a94b0c46241242922b06bb082f3c43..4c1f79f0479b8e7316b6fe9d272ee6182f304f00 100644 (file)
@@ -13,8 +13,9 @@ namespace Content.Client.Doors;
 public sealed class TurnstileSystem : SharedTurnstileSystem
 {
     [Dependency] private readonly AnimationPlayerSystem _animationPlayer = default!;
+    [Dependency] private readonly SpriteSystem _sprite = default!;
 
-    private static EntProtoId _examineArrow = "TurnstileArrow";
+    private static readonly EntProtoId ExamineArrow = "TurnstileArrow";
 
     private const string AnimationKey = "Turnstile";
 
@@ -33,12 +34,12 @@ public sealed class TurnstileSystem : SharedTurnstileSystem
 
         if (!TryComp<SpriteComponent>(ent, out var sprite))
             return;
-        sprite.LayerSetState(TurnstileVisualLayers.Base, new RSI.StateId(ent.Comp.DefaultState));
+        _sprite.LayerSetRsiState((ent.Owner, sprite), TurnstileVisualLayers.Base, new RSI.StateId(ent.Comp.DefaultState));
     }
 
     private void OnExamined(Entity<TurnstileComponent> ent, ref ExaminedEvent args)
     {
-        Spawn(_examineArrow, new EntityCoordinates(ent, 0, 0));
+        Spawn(ExamineArrow, new EntityCoordinates(ent, 0, 0));
     }
 
     protected override void PlayAnimation(EntityUid uid, string stateId)
index 321bd9d32a4ba1610c1dd5b574f5cda5b22e84a5..bc4531ce92d39e6c84ad56b465b7820b7843ae86 100644 (file)
@@ -25,6 +25,7 @@ public sealed class GhostToggleSelfVisibility : IConsoleCommand
         if (!entityManager.TryGetComponent(attachedEntity, out SpriteComponent? spriteComponent))
             return;
 
-        spriteComponent.Visible = !spriteComponent.Visible;
+        var spriteSys = entityManager.System<SpriteSystem>();
+        spriteSys.SetVisible((attachedEntity.Value, spriteComponent), !spriteComponent.Visible);
     }
 }
index 2b5a41c6ce7ee3daf84520e4f4b8a811f4b11a75..a8e168c55ee7c6e8c4c461ddf9eb3b5c6a27c844 100644 (file)
@@ -13,6 +13,7 @@ namespace Content.Client.Items.Systems;
 public sealed class ItemSystem : SharedItemSystem
 {
     [Dependency] private readonly IResourceCache _resCache = default!;
+    [Dependency] private readonly SpriteSystem _sprite = default!;
 
     public override void Initialize()
     {
@@ -27,12 +28,12 @@ public sealed class ItemSystem : SharedItemSystem
 
     private void OnUnequipped(EntityUid uid, SpriteComponent component, GotUnequippedEvent args)
     {
-        component.Visible = true;
+        _sprite.SetVisible((uid, component), true);
     }
 
     private void OnEquipped(EntityUid uid, SpriteComponent component, GotEquippedEvent args)
     {
-        component.Visible = false;
+        _sprite.SetVisible((uid, component), false);
     }
 
     #region InhandVisuals
@@ -58,7 +59,7 @@ public sealed class ItemSystem : SharedItemSystem
         if (!item.InhandVisuals.TryGetValue(args.Location, out var layers))
         {
             // get defaults
-            if (!TryGetDefaultVisuals(uid, item, defaultKey,  out layers))
+            if (!TryGetDefaultVisuals(uid, item, defaultKey, out layers))
                 return;
         }
 
index 4448c604629dfe45d60ab76f73cc9e2b975169fd..36f1843d5d9668c6bbf68439cf96a49732e4c354 100644 (file)
@@ -10,6 +10,7 @@ namespace Content.Client.Jittering
     {
         [Dependency] private readonly IRobustRandom _random = default!;
         [Dependency] private readonly AnimationPlayerSystem _animationPlayer = default!;
+        [Dependency] private readonly SpriteSystem _sprite = default!;
 
         private readonly float[] _sign = { -1, 1 };
         private readonly string _jitterAnimationKey = "jittering";
@@ -40,12 +41,12 @@ namespace Content.Client.Jittering
                 _animationPlayer.Stop(uid, animationPlayer, _jitterAnimationKey);
 
             if (TryComp(uid, out SpriteComponent? sprite))
-                sprite.Offset = jittering.StartOffset;
+                _sprite.SetOffset((uid, sprite), jittering.StartOffset);
         }
 
         private void OnAnimationCompleted(EntityUid uid, JitteringComponent jittering, AnimationCompletedEvent args)
         {
-            if(args.Key != _jitterAnimationKey)
+            if (args.Key != _jitterAnimationKey)
                 return;
 
             if (!args.Finished)
@@ -59,7 +60,7 @@ namespace Content.Client.Jittering
         private Animation GetAnimation(JitteringComponent jittering, SpriteComponent sprite)
         {
             var amplitude = MathF.Min(4f, jittering.Amplitude / 100f + 1f) / 10f;
-            var offset = new Vector2(_random.NextFloat(amplitude/4f, amplitude),
+            var offset = new Vector2(_random.NextFloat(amplitude / 4f, amplitude),
                 _random.NextFloat(amplitude / 4f, amplitude / 3f));
 
             offset.X *= _random.Pick(_sign);
index d252eb20040ebeb487742d8d6204bfe97d3e3c3d..2163d22d0b83a39c70e698814d2293bb5a8d2283 100644 (file)
@@ -13,8 +13,8 @@ public sealed class KudzuVisualsSystem : VisualizerSystem<KudzuVisualsComponent>
         if (AppearanceSystem.TryGetData<int>(uid, KudzuVisuals.Variant, out var var, args.Component)
             && AppearanceSystem.TryGetData<int>(uid, KudzuVisuals.GrowthLevel, out var level, args.Component))
         {
-            var index = args.Sprite.LayerMapReserveBlank(component.Layer);
-            args.Sprite.LayerSetState(index, $"kudzu_{level}{var}");
+            var index = SpriteSystem.LayerMapReserve((uid, args.Sprite), $"{component.Layer}");
+            SpriteSystem.LayerSetRsiState((uid, args.Sprite), index, $"kudzu_{level}{var}");
         }
     }
 }
index f12329bd786e095ec87dda8172442a15defb506f..2ff567e69efb97199172f073ce88f97048714391 100644 (file)
@@ -5,6 +5,8 @@ namespace Content.Client.Markers;
 
 public sealed class MarkerSystem : EntitySystem
 {
+    [Dependency] private readonly SpriteSystem _sprite = default!;
+
     private bool _markersVisible;
 
     public bool MarkersVisible
@@ -33,7 +35,7 @@ public sealed class MarkerSystem : EntitySystem
     {
         if (EntityManager.TryGetComponent(uid, out SpriteComponent? sprite))
         {
-            sprite.Visible = MarkersVisible;
+            _sprite.SetVisible((uid, sprite), MarkersVisible);
         }
     }
 
index 804736ab7a9bd210843c869b338109804c126dbf..6810bb24cc9c18f8c45686bbc7f0d9bb56c461d4 100644 (file)
@@ -16,6 +16,7 @@ public sealed class JetpackSystem : SharedJetpackSystem
     [Dependency] private readonly ClothingSystem _clothing = default!;
     [Dependency] private readonly SharedTransformSystem _transform = default!;
     [Dependency] private readonly SharedMapSystem _mapSystem = default!;
+    [Dependency] private readonly SpriteSystem _sprite = default!;
 
     public override void Initialize()
     {
@@ -34,7 +35,8 @@ public sealed class JetpackSystem : SharedJetpackSystem
         Appearance.TryGetData<bool>(uid, JetpackVisuals.Enabled, out var enabled, args.Component);
 
         var state = "icon" + (enabled ? "-on" : "");
-        args.Sprite?.LayerSetState(0, state);
+        if (args.Sprite != null)
+            _sprite.LayerSetRsiState((uid, args.Sprite), 0, state);
 
         if (TryComp<ClothingComponent>(uid, out var clothing))
             _clothing.SetEquippedPrefix(uid, enabled ? "on" : null, clothing);
index dbda75c58fd3df8053d567e607c5dc7c1a07edf0..b003a24f09a136f3cb34751000137f4345179fd2 100644 (file)
@@ -8,6 +8,8 @@ namespace Content.Client.Nutrition.EntitySystems;
 /// </summary>
 public sealed class InfantSystem : EntitySystem
 {
+    [Dependency] private readonly SpriteSystem _sprite = default!;
+
     /// <inheritdoc/>
     public override void Initialize()
     {
@@ -21,7 +23,7 @@ public sealed class InfantSystem : EntitySystem
             return;
 
         component.DefaultScale = sprite.Scale;
-        sprite.Scale = component.VisualScale;
+        _sprite.SetScale((uid, sprite), component.VisualScale);
     }
 
     private void OnShutdown(EntityUid uid, InfantComponent component, ComponentShutdown args)
@@ -29,6 +31,6 @@ public sealed class InfantSystem : EntitySystem
         if (!TryComp<SpriteComponent>(uid, out var sprite))
             return;
 
-        sprite.Scale = component.DefaultScale;
+        _sprite.SetScale((uid, sprite), component.DefaultScale);
     }
 }
index 1bcebd07b7debbc420b939279ffdd204130699d5..9824ccac29ce07c19ba2d0a60b5478ac24dc75b1 100644 (file)
@@ -13,6 +13,7 @@ public sealed class OrbitVisualsSystem : EntitySystem
     [Dependency] private readonly IRobustRandom _robustRandom = default!;
     [Dependency] private readonly AnimationPlayerSystem _animations = default!;
     [Dependency] private readonly IGameTiming _timing = default!;
+    [Dependency] private readonly SpriteSystem _sprite = default!;
 
     private readonly string _orbitStopKey = "orbiting_stop";
 
@@ -63,14 +64,15 @@ public sealed class OrbitVisualsSystem : EntitySystem
     {
         base.FrameUpdate(frameTime);
 
-        foreach (var (orbit, sprite) in EntityManager.EntityQuery<OrbitVisualsComponent, SpriteComponent>())
+        var query = EntityManager.EntityQueryEnumerator<OrbitVisualsComponent, SpriteComponent>();
+        while (query.MoveNext(out var uid, out var orbit, out var sprite))
         {
             var progress = (float)(_timing.CurTime.TotalSeconds / orbit.OrbitLength) % 1;
             var angle = new Angle(Math.PI * 2 * progress);
             var vec = angle.RotateVec(new Vector2(orbit.OrbitDistance, 0));
 
-            sprite.Rotation = angle;
-            sprite.Offset = vec;
+            _sprite.SetRotation((uid, sprite), angle);
+            _sprite.SetOffset((uid, sprite), vec);
         }
     }
 
index 8ba09c661701ba7ae8315fb27625ec2eb95bc90e..1319a3d74efe0d5e451a96785b246779aa5c3868 100644 (file)
@@ -11,6 +11,7 @@ namespace Content.Client.Polymorph.Systems;
 public sealed class ChameleonProjectorSystem : SharedChameleonProjectorSystem
 {
     [Dependency] private readonly SharedAppearanceSystem _appearance = default!;
+    [Dependency] private readonly SpriteSystem _sprite = default!;
 
     private EntityQuery<AppearanceComponent> _appearanceQuery;
     private EntityQuery<SpriteComponent> _spriteQuery;
@@ -47,13 +48,13 @@ public sealed class ChameleonProjectorSystem : SharedChameleonProjectorSystem
             return;
 
         ent.Comp.WasVisible = sprite.Visible;
-        sprite.Visible = false;
+        _sprite.SetVisible((ent.Owner, sprite), false);
     }
 
     private void OnShutdown(Entity<ChameleonDisguisedComponent> ent, ref ComponentShutdown args)
     {
         if (_spriteQuery.TryComp(ent, out var sprite))
-            sprite.Visible = ent.Comp.WasVisible;
+            _sprite.SetVisible((ent.Owner, sprite), ent.Comp.WasVisible);
     }
 
     private void OnGetFlashEffectTargetEvent(Entity<ChameleonDisguisedComponent> ent, ref GetFlashEffectTargetEvent args)
index bea15a060299ae2fb76345785a8a31d599a931bf..1af57e76409094cf7a4f240b56ab90eed117b3c0 100644 (file)
@@ -7,6 +7,7 @@ namespace Content.Client.Power.Visualizers;
 public sealed class CableVisualizerSystem : EntitySystem
 {
     [Dependency] private readonly AppearanceSystem _appearanceSystem = default!;
+    [Dependency] private readonly SpriteSystem _sprite = default!;
 
     public override void Initialize()
     {
@@ -30,8 +31,8 @@ public sealed class CableVisualizerSystem : EntitySystem
         if (!_appearanceSystem.TryGetData<WireVisDirFlags>(uid, WireVisVisuals.ConnectedMask, out var mask, args.Component))
             mask = WireVisDirFlags.None;
 
-        args.Sprite.LayerSetState(0, $"{component.StatePrefix}{(int) mask}");
+        _sprite.LayerSetRsiState((uid, args.Sprite), 0, $"{component.StatePrefix}{(int)mask}");
         if (component.ExtraLayerPrefix != null)
-            args.Sprite.LayerSetState(1, $"{component.ExtraLayerPrefix}{(int) mask}");
+            _sprite.LayerSetRsiState((uid, args.Sprite), 1, $"{component.ExtraLayerPrefix}{(int)mask}");
     }
 }
index 346dc5c276ee53835de7732eecf534d984c547c8..b54da765b05a402e11caee6cac19944d46b8df36 100644 (file)
@@ -14,6 +14,7 @@ public sealed class BorgSwitchableTypeSystem : SharedBorgSwitchableTypeSystem
 {
     [Dependency] private readonly BorgSystem _borgSystem = default!;
     [Dependency] private readonly AppearanceSystem _appearance = default!;
+    [Dependency] private readonly SpriteSystem _sprite = default!;
 
     public override void Initialize()
     {
@@ -39,8 +40,8 @@ public sealed class BorgSwitchableTypeSystem : SharedBorgSwitchableTypeSystem
     {
         if (TryComp(entity, out SpriteComponent? sprite))
         {
-            sprite.LayerSetState(BorgVisualLayers.Body, prototype.SpriteBodyState);
-            sprite.LayerSetState(BorgVisualLayers.LightStatus, prototype.SpriteToggleLightState);
+            _sprite.LayerSetRsiState((entity, sprite), BorgVisualLayers.Body, prototype.SpriteBodyState);
+            _sprite.LayerSetRsiState((entity, sprite), BorgVisualLayers.LightStatus, prototype.SpriteToggleLightState);
         }
 
         if (TryComp(entity, out BorgChassisComponent? chassis))
index 75588eda39138c04772f9ed007ba65ccde10d102..9b0a9fb7eaeb34e4c7deba4976b58a2cd0065dd7 100644 (file)
@@ -11,6 +11,7 @@ public sealed partial class StationAiSystem : SharedStationAiSystem
     [Dependency] private readonly IOverlayManager _overlayMgr = default!;
     [Dependency] private readonly IPlayerManager _player = default!;
     [Dependency] private readonly SharedAppearanceSystem _appearance = default!;
+    [Dependency] private readonly SpriteSystem _sprite = default!;
 
     private StationAiOverlay? _overlay;
 
@@ -81,9 +82,9 @@ public sealed partial class StationAiSystem : SharedStationAiSystem
             return;
 
         if (_appearance.TryGetData<PrototypeLayerData>(entity.Owner, StationAiVisualState.Key, out var layerData, args.Component))
-            args.Sprite.LayerSetData(StationAiVisualState.Key, layerData);
+            _sprite.LayerSetData((entity.Owner, args.Sprite), StationAiVisualState.Key, layerData);
 
-        args.Sprite.LayerSetVisible(StationAiVisualState.Key, layerData != null);
+        _sprite.LayerSetVisible((entity.Owner, args.Sprite), StationAiVisualState.Key, layerData != null);
     }
 
     public override void Shutdown()
index 15bbf8bc1906399190f18929ef83c13587f84f95..22bad793d993af15e18244a29ea35b751295a148 100644 (file)
@@ -1,4 +1,3 @@
-using System;
 using Content.Shared.Singularity.Components;
 using Robust.Client.Animations;
 using Robust.Client.GameObjects;
@@ -16,7 +15,8 @@ public sealed class RadiationCollectorSystem : VisualizerSystem<RadiationCollect
 
     private void OnComponentInit(EntityUid uid, RadiationCollectorComponent comp, ComponentInit args)
     {
-        comp.ActivateAnimation = new Animation {
+        comp.ActivateAnimation = new Animation
+        {
             Length = TimeSpan.FromSeconds(0.8f),
             AnimationTracks = {
                 new AnimationTrackSpriteFlick() {
@@ -26,7 +26,8 @@ public sealed class RadiationCollectorSystem : VisualizerSystem<RadiationCollect
             }
         };
 
-        comp.DeactiveAnimation = new Animation {
+        comp.DeactiveAnimation = new Animation
+        {
             Length = TimeSpan.FromSeconds(0.8f),
             AnimationTracks = {
                 new AnimationTrackSpriteFlick() {
@@ -46,10 +47,10 @@ public sealed class RadiationCollectorSystem : VisualizerSystem<RadiationCollect
         if (AnimationSystem.HasRunningAnimation(uid, animPlayer, RadiationCollectorComponent.AnimationKey))
             return;
 
-        var targetState = (RadiationCollectorVisualState) (state & RadiationCollectorVisualState.Active);
-        var destinationState = (RadiationCollectorVisualState) (comp.CurrentState & RadiationCollectorVisualState.Active);
+        var targetState = state & RadiationCollectorVisualState.Active;
+        var destinationState = comp.CurrentState & RadiationCollectorVisualState.Active;
         if (targetState != destinationState) // If where we're going is not where we want to be then we must go there next.
-            targetState = (RadiationCollectorVisualState) (targetState | RadiationCollectorVisualState.Deactivating); // Convert to transition state.
+            targetState |= RadiationCollectorVisualState.Deactivating; // Convert to transition state.
 
         comp.CurrentState = state;
 
@@ -63,10 +64,10 @@ public sealed class RadiationCollectorSystem : VisualizerSystem<RadiationCollect
                 break;
 
             case RadiationCollectorVisualState.Active:
-                sprite.LayerSetState(RadiationCollectorVisualLayers.Main, comp.ActiveState);
+                SpriteSystem.LayerSetRsiState((uid, sprite), RadiationCollectorVisualLayers.Main, comp.ActiveState);
                 break;
             case RadiationCollectorVisualState.Deactive:
-                sprite.LayerSetState(RadiationCollectorVisualLayers.Main, comp.InactiveState);
+                SpriteSystem.LayerSetRsiState((uid, sprite), RadiationCollectorVisualLayers.Main, comp.InactiveState);
                 break;
         }
     }
@@ -84,7 +85,7 @@ public sealed class RadiationCollectorSystem : VisualizerSystem<RadiationCollect
             state = comp.CurrentState;
 
         // Convert to terminal state.
-        var targetState = (RadiationCollectorVisualState) (state & RadiationCollectorVisualState.Active);
+        var targetState = state & RadiationCollectorVisualState.Active;
 
         UpdateVisuals(uid, targetState, comp, sprite, animPlayer);
     }
index d0aa9a4bcd3883d559f8109f90f38fb9d87af1c7..25ca76ac4dddf0493fdfa6df752517bdff95d595 100644 (file)
@@ -19,7 +19,7 @@ public sealed class BurnStateVisualizerSystem : VisualizerSystem<BurnStateVisual
             _ => component.UnlitIcon
         };
 
-        args.Sprite.LayerSetState(0, state);
+        SpriteSystem.LayerSetRsiState((uid, args.Sprite), 0, state);
     }
 }
 
index 9b0c487a02161bad6a2fd2f6e0afd3de070a018e..692a20a9f2cdd90e2ec707725b49352e00ebb144 100644 (file)
@@ -15,6 +15,6 @@ public sealed class StorageFillVisualizerSystem : VisualizerSystem<StorageFillVi
             return;
 
         var state = $"{component.FillBaseName}-{level}";
-        args.Sprite.LayerSetState(StorageFillLayers.Fill, state);
+        SpriteSystem.LayerSetRsiState((uid, args.Sprite), StorageFillLayers.Fill, state);
     }
 }
index 18e05f3223724bfc854c4e7b496f9e751d88572a..15732fb1a20982d342b7633d7fabf490293f635d 100644 (file)
@@ -5,6 +5,8 @@ namespace Content.Client.SurveillanceCamera;
 
 public sealed class SurveillanceCameraVisualsSystem : EntitySystem
 {
+    [Dependency] private readonly SpriteSystem _sprite = default!;
+
     public override void Initialize()
     {
         base.Initialize();
@@ -18,12 +20,12 @@ public sealed class SurveillanceCameraVisualsSystem : EntitySystem
         if (!args.AppearanceData.TryGetValue(SurveillanceCameraVisualsKey.Key, out var data)
             || data is not SurveillanceCameraVisuals key
             || args.Sprite == null
-            || !args.Sprite.LayerMapTryGet(SurveillanceCameraVisualsKey.Layer, out int layer)
+            || !_sprite.LayerMapTryGet((uid, args.Sprite), SurveillanceCameraVisualsKey.Layer, out var layer, false)
             || !component.CameraSprites.TryGetValue(key, out var state))
         {
             return;
         }
 
-        args.Sprite.LayerSetState(layer, state);
+        _sprite.LayerSetRsiState((uid, args.Sprite), layer, state);
     }
 }
index 28a07ae94a701094c9f8cea86aca46d0b6fe54c0..f0f5d5a4591b71052635eb3a0cf74b26bbed0fc4 100644 (file)
@@ -11,6 +11,7 @@ namespace Content.Client.Throwing;
 public sealed class ThrownItemVisualizerSystem : EntitySystem
 {
     [Dependency] private readonly AnimationPlayerSystem _anim = default!;
+    [Dependency] private readonly SpriteSystem _sprite = default!;
 
     private const string AnimationKey = "thrown-item";
 
@@ -46,7 +47,7 @@ public sealed class ThrownItemVisualizerSystem : EntitySystem
             return;
 
         if (TryComp<SpriteComponent>(uid, out var sprite) && component.OriginalScale != null)
-            sprite.Scale = component.OriginalScale.Value;
+            _sprite.SetScale((uid, sprite), component.OriginalScale.Value);
 
         _anim.Stop(uid, AnimationKey);
     }
@@ -60,7 +61,7 @@ public sealed class ThrownItemVisualizerSystem : EntitySystem
             return null;
 
         var scale = ent.Comp2.Scale;
-        var lenFloat = (float) length.TotalSeconds;
+        var lenFloat = (float)length.TotalSeconds;
 
         // TODO use like actual easings here
         return new Animation
index 6fc90b0da226e4be0b36783718798249fcd89c6c..ecf78a0bba11c5686d35c617e3b4d9af5902c245 100644 (file)
@@ -11,9 +11,9 @@ public sealed class WeldableVisualizerSystem : VisualizerSystem<WeldableComponen
             return;
 
         AppearanceSystem.TryGetData<bool>(uid, WeldableVisuals.IsWelded, out var isWelded, args.Component);
-        if (args.Sprite.LayerMapTryGet(WeldableLayers.BaseWelded, out var layer))
+        if (SpriteSystem.LayerMapTryGet((uid, args.Sprite), WeldableLayers.BaseWelded, out var layer, false))
         {
-            args.Sprite.LayerSetVisible(layer, isWelded);
+            SpriteSystem.LayerSetVisible((uid, args.Sprite), layer, isWelded);
         }
     }
 }
index ed163f07320cb677ae881d4c82d01d4591878526..b3d85f2017acdb7e732b7c3a299a68652cf3d41d 100644 (file)
@@ -19,7 +19,8 @@ public sealed class TimerTriggerVisualizerSystem : VisualizerSystem<TimerTrigger
 
     private void OnComponentInit(EntityUid uid, TimerTriggerVisualsComponent comp, ComponentInit args)
     {
-        comp.PrimingAnimation = new Animation {
+        comp.PrimingAnimation = new Animation
+        {
             Length = TimeSpan.MaxValue,
             AnimationTracks = {
                 new AnimationTrackSpriteFlick() {
@@ -32,7 +33,8 @@ public sealed class TimerTriggerVisualizerSystem : VisualizerSystem<TimerTrigger
         if (comp.PrimingSound != null)
         {
             comp.PrimingAnimation.AnimationTracks.Add(
-                new AnimationTrackPlaySound() {
+                new AnimationTrackPlaySound()
+                {
                     KeyFrames = { new AnimationTrackPlaySound.KeyFrame(_audioSystem.ResolveSound(comp.PrimingSound), 0) }
                 }
             );
@@ -42,7 +44,7 @@ public sealed class TimerTriggerVisualizerSystem : VisualizerSystem<TimerTrigger
     protected override void OnAppearanceChange(EntityUid uid, TimerTriggerVisualsComponent comp, ref AppearanceChangeEvent args)
     {
         if (args.Sprite == null
-        ||  !TryComp<AnimationPlayerComponent>(uid, out var animPlayer))
+        || !TryComp<AnimationPlayerComponent>(uid, out var animPlayer))
             return;
 
         if (!AppearanceSystem.TryGetData<TriggerVisualState>(uid, TriggerVisuals.VisualState, out var state, args.Component))
@@ -55,7 +57,7 @@ public sealed class TimerTriggerVisualizerSystem : VisualizerSystem<TimerTrigger
                     AnimationSystem.Play((uid, animPlayer), comp.PrimingAnimation, TimerTriggerVisualsComponent.AnimationKey);
                 break;
             case TriggerVisualState.Unprimed:
-                args.Sprite.LayerSetState(TriggerVisualLayers.Base, comp.UnprimedSprite);
+                SpriteSystem.LayerSetRsiState((uid, args.Sprite), TriggerVisualLayers.Base, comp.UnprimedSprite);
                 break;
             default:
                 throw new ArgumentOutOfRangeException();
index e6d94a43f9a567481fceca698556ab592cfdf2e6..aaac421ed1a5a0b3f9c58b6a0dd32f6e23e0439b 100644 (file)
@@ -53,6 +53,7 @@ namespace Content.IntegrationTests.Tests
             var eyeManager = client.ResolveDependency<IEyeManager>();
             var spriteQuery = clientEntManager.GetEntityQuery<SpriteComponent>();
             var eye = client.ResolveDependency<IEyeManager>().CurrentEye;
+            var spriteSys = clientEntManager.System<SpriteSystem>();
 
             var testMap = await pair.CreateTestMap();
 
@@ -73,7 +74,7 @@ namespace Content.IntegrationTests.Tests
             await client.WaitPost(() =>
             {
                 var sprite = spriteQuery.GetComponent(clientEnt);
-                sprite.Scale = new Vector2(scale, scale);
+                spriteSys.SetScale((clientEnt, sprite), new Vector2(scale, scale));
 
                 // these tests currently all assume player eye is 0
                 eyeManager.CurrentEye.Rotation = 0;