Skip to content
This repository was archived by the owner on Dec 23, 2025. It is now read-only.

Commit 36e20d8

Browse files
authored
Merge branch 'space-wizards:master' into master
2 parents 5c584a4 + 7435420 commit 36e20d8

151 files changed

Lines changed: 7551 additions & 1656 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Content.Client/Administration/Systems/KillSignSystem.cs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ namespace Content.Client.Administration.Systems;
77

88
public sealed class KillSignSystem : EntitySystem
99
{
10+
[Dependency] private readonly SpriteSystem _sprite = default!;
11+
1012
public override void Initialize()
1113
{
1214
SubscribeLocalEvent<KillSignComponent, ComponentStartup>(KillSignAdded);
@@ -18,26 +20,26 @@ private void KillSignRemoved(EntityUid uid, KillSignComponent component, Compone
1820
if (!TryComp<SpriteComponent>(uid, out var sprite))
1921
return;
2022

21-
if (!sprite.LayerMapTryGet(KillSignKey.Key, out var layer))
23+
if (!_sprite.LayerMapTryGet((uid, sprite), KillSignKey.Key, out var layer, false))
2224
return;
2325

24-
sprite.RemoveLayer(layer);
26+
_sprite.RemoveLayer((uid, sprite), layer);
2527
}
2628

2729
private void KillSignAdded(EntityUid uid, KillSignComponent component, ComponentStartup args)
2830
{
2931
if (!TryComp<SpriteComponent>(uid, out var sprite))
3032
return;
3133

32-
if (sprite.LayerMapTryGet(KillSignKey.Key, out var _))
34+
if (_sprite.LayerMapTryGet((uid, sprite), KillSignKey.Key, out var _, false))
3335
return;
3436

35-
var adj = sprite.Bounds.Height / 2 + ((1.0f/32) * 6.0f);
37+
var adj = _sprite.GetLocalBounds((uid, sprite)).Height / 2 + ((1.0f / 32) * 6.0f);
3638

37-
var layer = sprite.AddLayer(new SpriteSpecifier.Rsi(new ResPath("Objects/Misc/killsign.rsi"), "sign"));
38-
sprite.LayerMapSet(KillSignKey.Key, layer);
39+
var layer = _sprite.AddLayer((uid, sprite), new SpriteSpecifier.Rsi(new ResPath("Objects/Misc/killsign.rsi"), "sign"));
40+
_sprite.LayerMapSet((uid, sprite), KillSignKey.Key, layer);
3941

40-
sprite.LayerSetOffset(layer, new Vector2(0.0f, adj));
42+
_sprite.LayerSetOffset((uid, sprite), layer, new Vector2(0.0f, adj));
4143
sprite.LayerSetShader(layer, "unshaded");
4244
}
4345

Content.Client/Administration/UI/SpawnExplosion/SpawnExplosionWindow.xaml.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ namespace Content.Client.Administration.UI.SpawnExplosion;
1919
public sealed partial class SpawnExplosionWindow : DefaultWindow
2020
{
2121
[Dependency] private readonly IClientConsoleHost _conHost = default!;
22-
[Dependency] private readonly IMapManager _mapManager = default!;
2322
[Dependency] private readonly IPlayerManager _playerManager = default!;
2423
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
2524
[Dependency] private readonly IEntityManager _entMan = default!;
25+
private readonly SharedMapSystem _mapSystem;
2626
private readonly SharedTransformSystem _transform = default!;
2727

2828
private readonly SpawnExplosionEui _eui;
@@ -38,6 +38,7 @@ public SpawnExplosionWindow(SpawnExplosionEui eui)
3838
{
3939
RobustXamlLoader.Load(this);
4040
IoCManager.InjectDependencies(this);
41+
_mapSystem = _entMan.System<SharedMapSystem>();
4142
_transform = _entMan.System<TransformSystem>();
4243
_eui = eui;
4344

@@ -87,7 +88,7 @@ private void UpdateMapOptions()
8788
{
8889
_mapData.Clear();
8990
MapOptions.Clear();
90-
foreach (var map in _mapManager.GetAllMapIds())
91+
foreach (var map in _mapSystem.GetAllMapIds())
9192
{
9293
_mapData.Add(map);
9394
MapOptions.AddItem(map.ToString());

Content.Client/Administration/UI/Tabs/AdminbusTab/LoadBlueprintsWindow.xaml.cs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,19 @@ namespace Content.Client.Administration.UI.Tabs.AdminbusTab
1414
[UsedImplicitly]
1515
public sealed partial class LoadBlueprintsWindow : DefaultWindow
1616
{
17+
[Dependency] private readonly IEntityManager _entityManager = default!;
18+
[Dependency] private readonly IPlayerManager _playerManager = default!;
19+
1720
public LoadBlueprintsWindow()
1821
{
1922
RobustXamlLoader.Load(this);
2023
}
2124

2225
protected override void EnteredTree()
2326
{
24-
var mapManager = IoCManager.Resolve<IMapManager>();
27+
var mapSystem = _entityManager.System<SharedMapSystem>();
2528

26-
foreach (var mapId in mapManager.GetAllMapIds())
29+
foreach (var mapId in mapSystem.GetAllMapIds())
2730
{
2831
MapOptions.AddItem(mapId.ToString(), (int) mapId);
2932
}
@@ -39,21 +42,19 @@ protected override void EnteredTree()
3942

4043
private void Reset()
4144
{
42-
var entManager = IoCManager.Resolve<IEntityManager>();
43-
var xformSystem = entManager.System<SharedTransformSystem>();
44-
var playerManager = IoCManager.Resolve<IPlayerManager>();
45-
var player = playerManager.LocalEntity;
45+
var xformSystem = _entityManager.System<SharedTransformSystem>();
46+
var player = _playerManager.LocalEntity;
4647

4748
var currentMap = MapId.Nullspace;
4849
var position = Vector2.Zero;
4950
var rotation = Angle.Zero;
5051

51-
if (entManager.TryGetComponent<TransformComponent>(player, out var xform))
52+
if (_entityManager.TryGetComponent<TransformComponent>(player, out var xform))
5253
{
5354
currentMap = xform.MapID;
5455
position = xformSystem.GetWorldPosition(xform);
5556

56-
if (entManager.TryGetComponent<TransformComponent>(xform.GridUid, out var gridXform))
57+
if (_entityManager.TryGetComponent<TransformComponent>(xform.GridUid, out var gridXform))
5758
{
5859
rotation = xformSystem.GetWorldRotation(gridXform);
5960
}

Content.Client/Anomaly/AnomalySystem.cs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ public sealed class AnomalySystem : SharedAnomalySystem
1111
{
1212
[Dependency] private readonly IGameTiming _timing = default!;
1313
[Dependency] private readonly FloatingVisualizerSystem _floating = default!;
14+
[Dependency] private readonly SpriteSystem _sprite = default!;
1415

1516
/// <inheritdoc/>
1617
public override void Initialize()
@@ -49,12 +50,12 @@ private void OnAppearanceChanged(EntityUid uid, AnomalyComponent component, ref
4950
if (HasComp<AnomalySupercriticalComponent>(uid))
5051
pulsing = true;
5152

52-
if (!sprite.LayerMapTryGet(AnomalyVisualLayers.Base, out var layer) ||
53-
!sprite.LayerMapTryGet(AnomalyVisualLayers.Animated, out var animatedLayer))
53+
if (!_sprite.LayerMapTryGet((uid, sprite), AnomalyVisualLayers.Base, out var layer, false) ||
54+
!_sprite.LayerMapTryGet((uid, sprite), AnomalyVisualLayers.Animated, out var animatedLayer, false))
5455
return;
5556

56-
sprite.LayerSetVisible(layer, !pulsing);
57-
sprite.LayerSetVisible(animatedLayer, pulsing);
57+
_sprite.LayerSetVisible((uid, sprite), layer, !pulsing);
58+
_sprite.LayerSetVisible((uid, sprite), animatedLayer, pulsing);
5859
}
5960

6061
public override void Update(float frameTime)
@@ -63,16 +64,16 @@ public override void Update(float frameTime)
6364

6465
var query = EntityQueryEnumerator<AnomalySupercriticalComponent, SpriteComponent>();
6566

66-
while (query.MoveNext(out var super, out var sprite))
67+
while (query.MoveNext(out var uid, out var super, out var sprite))
6768
{
68-
var completion = 1f - (float) ((super.EndTime - _timing.CurTime) / super.SupercriticalDuration);
69+
var completion = 1f - (float)((super.EndTime - _timing.CurTime) / super.SupercriticalDuration);
6970
var scale = completion * (super.MaxScaleAmount - 1f) + 1f;
70-
sprite.Scale = new Vector2(scale, scale);
71+
_sprite.SetScale((uid, sprite), new Vector2(scale, scale));
7172

72-
var transparency = (byte) (65 * (1f - completion) + 190);
73+
var transparency = (byte)(65 * (1f - completion) + 190);
7374
if (transparency < sprite.Color.AByte)
7475
{
75-
sprite.Color = sprite.Color.WithAlpha(transparency);
76+
_sprite.SetColor((uid, sprite), sprite.Color.WithAlpha(transparency));
7677
}
7778
}
7879
}
@@ -82,7 +83,7 @@ private void OnShutdown(Entity<AnomalySupercriticalComponent> ent, ref Component
8283
if (!TryComp<SpriteComponent>(ent, out var sprite))
8384
return;
8485

85-
sprite.Scale = Vector2.One;
86-
sprite.Color = sprite.Color.WithAlpha(1f);
86+
_sprite.SetScale((ent.Owner, sprite), Vector2.One);
87+
_sprite.SetColor((ent.Owner, sprite), sprite.Color.WithAlpha(1f));
8788
}
8889
}

Content.Client/Anomaly/Effects/ClientInnerBodySystem.cs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ namespace Content.Client.Anomaly.Effects;
77

88
public sealed class ClientInnerBodyAnomalySystem : SharedInnerBodyAnomalySystem
99
{
10+
[Dependency] private readonly SpriteSystem _sprite = default!;
11+
1012
public override void Initialize()
1113
{
1214
SubscribeLocalEvent<InnerBodyAnomalyComponent, AfterAutoHandleStateEvent>(OnAfterHandleState);
@@ -21,21 +23,20 @@ private void OnAfterHandleState(Entity<InnerBodyAnomalyComponent> ent, ref After
2123
if (ent.Comp.FallbackSprite is null)
2224
return;
2325

24-
if (!sprite.LayerMapTryGet(ent.Comp.LayerMap, out var index))
25-
index = sprite.LayerMapReserveBlank(ent.Comp.LayerMap);
26+
var index = _sprite.LayerMapReserve((ent.Owner, sprite), ent.Comp.LayerMap);
2627

2728
if (TryComp<BodyComponent>(ent, out var body) &&
2829
body.Prototype is not null &&
2930
ent.Comp.SpeciesSprites.TryGetValue(body.Prototype.Value, out var speciesSprite))
3031
{
31-
sprite.LayerSetSprite(index, speciesSprite);
32+
_sprite.LayerSetSprite((ent.Owner, sprite), index, speciesSprite);
3233
}
3334
else
3435
{
35-
sprite.LayerSetSprite(index, ent.Comp.FallbackSprite);
36+
_sprite.LayerSetSprite((ent.Owner, sprite), index, ent.Comp.FallbackSprite);
3637
}
3738

38-
sprite.LayerSetVisible(index, true);
39+
_sprite.LayerSetVisible((ent.Owner, sprite), index, true);
3940
sprite.LayerSetShader(index, "unshaded");
4041
}
4142

@@ -44,7 +45,7 @@ private void OnCompShutdown(Entity<InnerBodyAnomalyComponent> ent, ref Component
4445
if (!TryComp<SpriteComponent>(ent, out var sprite))
4546
return;
4647

47-
var index = sprite.LayerMapGet(ent.Comp.LayerMap);
48-
sprite.LayerSetVisible(index, false);
48+
var index = _sprite.LayerMapGet((ent.Owner, sprite), ent.Comp.LayerMap);
49+
_sprite.LayerSetVisible((ent.Owner, sprite), index, false);
4950
}
5051
}

Content.Client/Atmos/EntitySystems/AtmosPipeAppearanceSystem.cs

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ namespace Content.Client.Atmos.EntitySystems;
1111
public sealed class AtmosPipeAppearanceSystem : EntitySystem
1212
{
1313
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
14+
[Dependency] private readonly SpriteSystem _sprite = default!;
1415

1516
public override void Initialize()
1617
{
@@ -25,21 +26,22 @@ private void OnInit(EntityUid uid, PipeAppearanceComponent component, ComponentI
2526
if (!TryComp(uid, out SpriteComponent? sprite))
2627
return;
2728

28-
foreach (PipeConnectionLayer layerKey in Enum.GetValues(typeof(PipeConnectionLayer)))
29+
foreach (var layerKey in Enum.GetValues<PipeConnectionLayer>())
2930
{
30-
sprite.LayerMapReserveBlank(layerKey);
31-
var layer = sprite.LayerMapGet(layerKey);
32-
sprite.LayerSetRSI(layer, component.Sprite.RsiPath);
33-
sprite.LayerSetState(layer, component.Sprite.RsiState);
34-
sprite.LayerSetDirOffset(layer, ToOffset(layerKey));
31+
var layer = _sprite.LayerMapReserve((uid, sprite), layerKey);
32+
_sprite.LayerSetRsi((uid, sprite), layer, component.Sprite.RsiPath);
33+
_sprite.LayerSetRsiState((uid, sprite), layer, component.Sprite.RsiState);
34+
_sprite.LayerSetDirOffset((uid, sprite), layer, ToOffset(layerKey));
3535
}
3636
}
3737

38-
private void HideAllPipeConnection(SpriteComponent sprite)
38+
private void HideAllPipeConnection(Entity<SpriteComponent> entity)
3939
{
40-
foreach (PipeConnectionLayer layerKey in Enum.GetValues(typeof(PipeConnectionLayer)))
40+
var sprite = entity.Comp;
41+
42+
foreach (var layerKey in Enum.GetValues<PipeConnectionLayer>())
4143
{
42-
if (!sprite.LayerMapTryGet(layerKey, out var key))
44+
if (!_sprite.LayerMapTryGet(entity.AsNullable(), layerKey, out var key, false))
4345
continue;
4446

4547
var layer = sprite[key];
@@ -61,7 +63,7 @@ private void OnAppearanceChanged(EntityUid uid, PipeAppearanceComponent componen
6163

6264
if (!_appearance.TryGetData<PipeDirection>(uid, PipeVisuals.VisualState, out var worldConnectedDirections, args.Component))
6365
{
64-
HideAllPipeConnection(args.Sprite);
66+
HideAllPipeConnection((uid, args.Sprite));
6567
return;
6668
}
6769

@@ -71,13 +73,13 @@ private void OnAppearanceChanged(EntityUid uid, PipeAppearanceComponent componen
7173
// transform connected directions to local-coordinates
7274
var connectedDirections = worldConnectedDirections.RotatePipeDirection(-Transform(uid).LocalRotation);
7375

74-
foreach (PipeConnectionLayer layerKey in Enum.GetValues(typeof(PipeConnectionLayer)))
76+
foreach (var layerKey in Enum.GetValues<PipeConnectionLayer>())
7577
{
76-
if (!args.Sprite.LayerMapTryGet(layerKey, out var key))
78+
if (!_sprite.LayerMapTryGet((uid, args.Sprite), layerKey, out var key, false))
7779
continue;
7880

7981
var layer = args.Sprite[key];
80-
var dir = (PipeDirection) layerKey;
82+
var dir = (PipeDirection)layerKey;
8183
var visible = connectedDirections.HasDirection(dir);
8284

8385
layer.Visible &= visible;

Content.Client/Atmos/EntitySystems/FireVisualizerSystem.cs

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using Content.Shared.Atmos;
33
using Robust.Client.GameObjects;
44
using Robust.Shared.Map;
5+
using Robust.Shared.Utility;
56

67
namespace Content.Client.Atmos.EntitySystems;
78

@@ -10,6 +11,7 @@ namespace Content.Client.Atmos.EntitySystems;
1011
/// </summary>
1112
public sealed class FireVisualizerSystem : VisualizerSystem<FireVisualsComponent>
1213
{
14+
[Dependency] private readonly SpriteSystem _sprite = default!;
1315
[Dependency] private readonly PointLightSystem _lights = default!;
1416

1517
public override void Initialize()
@@ -31,9 +33,9 @@ private void OnShutdown(EntityUid uid, FireVisualsComponent component, Component
3133
// Need LayerMapTryGet because Init fails if there's no existing sprite / appearancecomp
3234
// which means in some setups (most frequently no AppearanceComp) the layer never exists.
3335
if (TryComp<SpriteComponent>(uid, out var sprite) &&
34-
sprite.LayerMapTryGet(FireVisualLayers.Fire, out var layer))
36+
_sprite.LayerMapTryGet((uid, sprite), FireVisualLayers.Fire, out var layer, false))
3537
{
36-
sprite.RemoveLayer(layer);
38+
_sprite.RemoveLayer((uid, sprite), layer);
3739
}
3840
}
3941

@@ -42,11 +44,11 @@ private void OnComponentInit(EntityUid uid, FireVisualsComponent component, Comp
4244
if (!TryComp<SpriteComponent>(uid, out var sprite) || !TryComp(uid, out AppearanceComponent? appearance))
4345
return;
4446

45-
sprite.LayerMapReserveBlank(FireVisualLayers.Fire);
46-
sprite.LayerSetVisible(FireVisualLayers.Fire, false);
47+
_sprite.LayerMapReserve((uid, sprite), FireVisualLayers.Fire);
48+
_sprite.LayerSetVisible((uid, sprite), FireVisualLayers.Fire, false);
4749
sprite.LayerSetShader(FireVisualLayers.Fire, "unshaded");
4850
if (component.Sprite != null)
49-
sprite.LayerSetRSI(FireVisualLayers.Fire, component.Sprite);
51+
_sprite.LayerSetRsi((uid, sprite), FireVisualLayers.Fire, new ResPath(component.Sprite));
5052

5153
UpdateAppearance(uid, component, sprite, appearance);
5254
}
@@ -59,12 +61,12 @@ protected override void OnAppearanceChange(EntityUid uid, FireVisualsComponent c
5961

6062
private void UpdateAppearance(EntityUid uid, FireVisualsComponent component, SpriteComponent sprite, AppearanceComponent appearance)
6163
{
62-
if (!sprite.LayerMapTryGet(FireVisualLayers.Fire, out var index))
64+
if (!_sprite.LayerMapTryGet((uid, sprite), FireVisualLayers.Fire, out var index, false))
6365
return;
6466

6567
AppearanceSystem.TryGetData<bool>(uid, FireVisuals.OnFire, out var onFire, appearance);
6668
AppearanceSystem.TryGetData<float>(uid, FireVisuals.FireStacks, out var fireStacks, appearance);
67-
sprite.LayerSetVisible(index, onFire);
69+
_sprite.LayerSetVisible((uid, sprite), index, onFire);
6870

6971
if (!onFire)
7072
{
@@ -78,9 +80,9 @@ private void UpdateAppearance(EntityUid uid, FireVisualsComponent component, Spr
7880
}
7981

8082
if (fireStacks > component.FireStackAlternateState && !string.IsNullOrEmpty(component.AlternateState))
81-
sprite.LayerSetState(index, component.AlternateState);
83+
_sprite.LayerSetRsiState((uid, sprite), index, component.AlternateState);
8284
else
83-
sprite.LayerSetState(index, component.NormalState);
85+
_sprite.LayerSetRsiState((uid, sprite), index, component.NormalState);
8486

8587
component.LightEntity ??= Spawn(null, new EntityCoordinates(uid, default));
8688
var light = EnsureComp<PointLightComponent>(component.LightEntity.Value);

0 commit comments

Comments
 (0)