From: Tayrtahn Date: Mon, 19 May 2025 16:52:04 +0000 (-0400) Subject: Cleanup `SpriteComponent` warnings in map renderer (#37609) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=69354f59c855f73c2141254b7768f6cdbb1087b4;p=space-station-14.git Cleanup `SpriteComponent` warnings in map renderer (#37609) * 3 warnings in EntityPainter * 1 warning in MapPainter --- diff --git a/Content.MapRenderer/Painters/EntityPainter.cs b/Content.MapRenderer/Painters/EntityPainter.cs index 13c7512ea5..0c751b8583 100644 --- a/Content.MapRenderer/Painters/EntityPainter.cs +++ b/Content.MapRenderer/Painters/EntityPainter.cs @@ -22,12 +22,14 @@ public sealed class EntityPainter private readonly Image _errorImage; private readonly IEntityManager _sEntityManager; + private readonly SpriteSystem _sprite; public EntityPainter(ClientIntegrationInstance client, ServerIntegrationInstance server) { _resManager = client.ResolveDependency(); _sEntityManager = server.ResolveDependency(); + _sprite = client.ResolveDependency().System(); _images = new Dictionary<(string path, string state), Image>(); _errorImage = Image.Load(_resManager.ContentFileRead("/Textures/error.rsi/error.png")); @@ -44,10 +46,10 @@ public sealed class EntityPainter foreach (var entity in entities) { - Run(canvas, entity, xformSystem, customOffset);; + Run(canvas, entity, xformSystem, customOffset); } - Console.WriteLine($"{nameof(EntityPainter)} painted {entities.Count} entities in {(int) stopwatch.Elapsed.TotalMilliseconds} ms"); + Console.WriteLine($"{nameof(EntityPainter)} painted {entities.Count} entities in {(int)stopwatch.Elapsed.TotalMilliseconds} ms"); } public void Run(Image canvas, EntityData entity, SharedTransformSystem xformSystem, Vector2 customOffset = default) @@ -92,7 +94,7 @@ public sealed class EntityPainter image = image.CloneAs(); - static (int, int, int, int) GetRsiFrame(RSI? rsi, Image image, EntityData entity, ISpriteLayer layer, int direction) + (int, int, int, int) GetRsiFrame(RSI? rsi, Image image, EntityData entity, ISpriteLayer layer, int direction) { if (rsi is null) return (0, 0, EyeManager.PixelsPerMeter, EyeManager.PixelsPerMeter); @@ -100,17 +102,17 @@ public sealed class EntityPainter var statesX = image.Width / rsi.Size.X; var statesY = image.Height / rsi.Size.Y; var stateCount = statesX * statesY; - var frames = stateCount / entity.Sprite.GetLayerDirectionCount(layer); + var frames = stateCount / _sprite.LayerGetDirectionCount((SpriteComponent.Layer)layer); var target = direction * frames; var targetY = target / statesX; var targetX = target % statesX; return (targetX * rsi.Size.X, targetY * rsi.Size.Y, rsi.Size.X, rsi.Size.Y); } - var dir = entity.Sprite.GetLayerDirectionCount(layer) switch + var dir = _sprite.LayerGetDirectionCount((SpriteComponent.Layer)layer) switch { 0 => 0, - _ => (int) layer.EffectiveDirection(worldRotation) + _ => (int)layer.EffectiveDirection(worldRotation) }; var (x, y, width, height) = GetRsiFrame(rsi, image, entity, layer, dir); @@ -125,9 +127,9 @@ public sealed class EntityPainter image.Mutate(o => o.Crop(rect)); var spriteRotation = 0f; - if (!entity.Sprite.NoRotation && !entity.Sprite.SnapCardinals && entity.Sprite.GetLayerDirectionCount(layer) == 1) + if (!entity.Sprite.NoRotation && !entity.Sprite.SnapCardinals && _sprite.LayerGetDirectionCount((SpriteComponent.Layer)layer) == 1) { - spriteRotation = (float) worldRotation.Degrees; + spriteRotation = (float)worldRotation.Degrees; } var colorMix = entity.Sprite.Color * layer.Color; @@ -136,16 +138,16 @@ public sealed class EntityPainter coloredImage.Mutate(o => o.BackgroundColor(imageColor)); var (imgX, imgY) = rsi?.Size ?? (EyeManager.PixelsPerMeter, EyeManager.PixelsPerMeter); - var offsetX = (int) (entity.Sprite.Offset.X + customOffset.X) * EyeManager.PixelsPerMeter; - var offsetY = (int) (entity.Sprite.Offset.Y + customOffset.X) * EyeManager.PixelsPerMeter; + var offsetX = (int)(entity.Sprite.Offset.X + customOffset.X) * EyeManager.PixelsPerMeter; + var offsetY = (int)(entity.Sprite.Offset.Y + customOffset.X) * EyeManager.PixelsPerMeter; image.Mutate(o => o .DrawImage(coloredImage, PixelColorBlendingMode.Multiply, PixelAlphaCompositionMode.SrcAtop, 1) .Resize(imgX, imgY) .Flip(FlipMode.Vertical) .Rotate(spriteRotation)); - var pointX = (int) entity.X + offsetX - imgX / 2; - var pointY = (int) entity.Y + offsetY - imgY / 2; + var pointX = (int)entity.X + offsetX - imgX / 2; + var pointY = (int)entity.Y + offsetY - imgY / 2; canvas.Mutate(o => o.DrawImage(image, new Point(pointX, pointY), 1)); } } diff --git a/Content.MapRenderer/Painters/MapPainter.cs b/Content.MapRenderer/Painters/MapPainter.cs index 795cbc04ee..e861227bcc 100644 --- a/Content.MapRenderer/Painters/MapPainter.cs +++ b/Content.MapRenderer/Painters/MapPainter.cs @@ -45,7 +45,7 @@ namespace Content.MapRenderer.Painters var server = pair.Server; var client = pair.Client; - Console.WriteLine($"Loaded client and server in {(int) stopwatch.Elapsed.TotalMilliseconds} ms"); + Console.WriteLine($"Loaded client and server in {(int)stopwatch.Elapsed.TotalMilliseconds} ms"); stopwatch.Restart(); @@ -56,7 +56,7 @@ namespace Content.MapRenderer.Painters { if (cEntityManager.TryGetComponent(cPlayerManager.LocalEntity, out SpriteComponent? sprite)) { - sprite.Visible = false; + cEntityManager.System().SetVisible((cPlayerManager.LocalEntity.Value, sprite), false); } });