diff --git a/Content.Client/Atmos/Visualizers/AtmosPlaqueVisualizer.cs b/Content.Client/Atmos/Visualizers/AtmosPlaqueVisualizer.cs index cd843e3266..60e3f6e8f1 100644 --- a/Content.Client/Atmos/Visualizers/AtmosPlaqueVisualizer.cs +++ b/Content.Client/Atmos/Visualizers/AtmosPlaqueVisualizer.cs @@ -2,6 +2,7 @@ using JetBrains.Annotations; using Robust.Client.GameObjects; using Robust.Shared.GameObjects; +using Robust.Shared.IoC; using Robust.Shared.Serialization.Manager.Attributes; namespace Content.Client.Atmos.Visualizers @@ -16,14 +17,14 @@ namespace Content.Client.Atmos.Visualizers { base.InitializeEntity(entity); - entity.GetComponentOrNull()?.LayerMapReserveBlank(Layer); + IoCManager.Resolve().GetComponentOrNull(entity.Uid); } public override void OnChangeData(AppearanceComponent component) { base.OnChangeData(component); - if (!component.Owner.TryGetComponent(out SpriteComponent? sprite)) + if (!IoCManager.Resolve().TryGetComponent(component.OwnerUid, out SpriteComponent? sprite)) { return; } diff --git a/Content.Client/Body/UI/BodyScannerDisplay.cs b/Content.Client/Body/UI/BodyScannerDisplay.cs index f7684c71f9..2ae7f8048e 100644 --- a/Content.Client/Body/UI/BodyScannerDisplay.cs +++ b/Content.Client/Body/UI/BodyScannerDisplay.cs @@ -17,8 +17,6 @@ namespace Content.Client.Body.UI private IEntity? _currentEntity; private SharedBodyPartComponent? _currentBodyPart; - private SharedBodyComponent? CurrentBody => _currentEntity?.GetComponentOrNull(); - public BodyScannerDisplay(BodyScannerBoundUserInterface owner) { IoCManager.InjectDependencies(this); @@ -107,10 +105,13 @@ namespace Content.Client.Body.UI public void UpdateDisplay(IEntity entity) { + if(entity == null) + return; + _currentEntity = entity; BodyPartList.Clear(); - var body = CurrentBody; + var body = IoCManager.Resolve().GetComponentOrNull(_currentEntity.Uid); if (body == null) { @@ -125,7 +126,10 @@ namespace Content.Client.Body.UI public void BodyPartOnItemSelected(ItemListSelectedEventArgs args) { - var body = CurrentBody; + if (_currentEntity == null) + return; + + var body = IoCManager.Resolve().GetComponentOrNull(_currentEntity.Uid); if (body == null) { diff --git a/Content.Client/ContextMenu/UI/EntityMenuElement.cs b/Content.Client/ContextMenu/UI/EntityMenuElement.cs index d46341b9f0..5942bf3afe 100644 --- a/Content.Client/ContextMenu/UI/EntityMenuElement.cs +++ b/Content.Client/ContextMenu/UI/EntityMenuElement.cs @@ -58,15 +58,21 @@ namespace Content.Client.ContextMenu.UI /// public void UpdateEntity(IEntity? entity = null) { - if (Entity != null && !((!IoCManager.Resolve().EntityExists(Entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve().GetComponent(Entity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)) + if (Entity != null && IoCManager.Resolve().EntityExists(Entity.Uid)) entity ??= Entity; - EntityIcon.Sprite = entity?.GetComponentOrNull(); + if (entity == null) + { + Text = string.Empty; + return; + } + + EntityIcon.Sprite = IoCManager.Resolve().GetComponentOrNull(entity.Uid); if (UserInterfaceManager.DebugMonitors.Visible) - Text = $"{entity?.Name} ({entity?.Uid})"; + Text = $"{entity!.Name} ({entity.Uid})"; else - Text = entity?.Name ?? string.Empty; + Text = entity!.Name; } } } diff --git a/Content.Client/Mining/AsteroidRockVisualizer.cs b/Content.Client/Mining/AsteroidRockVisualizer.cs index 1c30d6126c..f3590ddce8 100644 --- a/Content.Client/Mining/AsteroidRockVisualizer.cs +++ b/Content.Client/Mining/AsteroidRockVisualizer.cs @@ -2,6 +2,7 @@ using JetBrains.Annotations; using Robust.Client.GameObjects; using Robust.Shared.GameObjects; +using Robust.Shared.IoC; using Robust.Shared.Serialization.Manager.Attributes; namespace Content.Client.Mining @@ -16,14 +17,14 @@ namespace Content.Client.Mining { base.InitializeEntity(entity); - entity.GetComponentOrNull()?.LayerMapReserveBlank(Layer); + IoCManager.Resolve().GetComponentOrNull(entity.Uid)?.LayerMapReserveBlank(Layer); } public override void OnChangeData(AppearanceComponent component) { base.OnChangeData(component); - if (!component.Owner.TryGetComponent(out SpriteComponent? sprite)) + if (!IoCManager.Resolve().TryGetComponent(component.OwnerUid, out SpriteComponent? sprite)) { return; } diff --git a/Content.Client/Singularity/Visualizers/SingularityVisualizer.cs b/Content.Client/Singularity/Visualizers/SingularityVisualizer.cs index 769c433ed6..2f14d899f1 100644 --- a/Content.Client/Singularity/Visualizers/SingularityVisualizer.cs +++ b/Content.Client/Singularity/Visualizers/SingularityVisualizer.cs @@ -2,6 +2,7 @@ using JetBrains.Annotations; using Robust.Client.GameObjects; using Robust.Shared.GameObjects; +using Robust.Shared.IoC; using Robust.Shared.Serialization.Manager.Attributes; using Robust.Shared.Utility; @@ -17,14 +18,14 @@ namespace Content.Client.Singularity.Visualizers { base.InitializeEntity(entity); - entity.GetComponentOrNull()?.LayerMapReserveBlank(Layer); + IoCManager.Resolve().GetComponentOrNull(entity.Uid)?.LayerMapReserveBlank(Layer); } public override void OnChangeData(AppearanceComponent component) { base.OnChangeData(component); - if (!component.Owner.TryGetComponent(out SpriteComponent? sprite)) + if (!IoCManager.Resolve().TryGetComponent(component.OwnerUid, out SpriteComponent? sprite)) { return; } diff --git a/Content.Server/Access/Components/IdCardConsoleComponent.cs b/Content.Server/Access/Components/IdCardConsoleComponent.cs index b4c769051e..571ec75052 100644 --- a/Content.Server/Access/Components/IdCardConsoleComponent.cs +++ b/Content.Server/Access/Components/IdCardConsoleComponent.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using System.Linq; using Content.Server.Access.Systems; @@ -135,6 +136,9 @@ namespace Content.Server.Access.Components { var targetIdComponent = IoCManager.Resolve().GetComponent(targetIdEntity.Uid); var targetAccessComponent = IoCManager.Resolve().GetComponent(targetIdEntity.Uid); + var name = string.Empty; + if(PrivilegedIdSlot.Item != null) + name = PrivilegedIdSlot.Item.Name; newState = new IdCardConsoleBoundUserInterfaceState( PrivilegedIdSlot.HasItem, PrivilegedIdIsAuthorized(), @@ -142,7 +146,7 @@ namespace Content.Server.Access.Components targetIdComponent.FullName, targetIdComponent.JobTitle, targetAccessComponent.Tags.ToArray(), - PrivilegedIdSlot.Item?.Name ?? string.Empty, + name, targetIdEntity.Name); } UserInterface?.SetState(newState); diff --git a/Content.Server/Administration/AdminSystem.cs b/Content.Server/Administration/AdminSystem.cs index a7796b2cbf..ea91439670 100644 --- a/Content.Server/Administration/AdminSystem.cs +++ b/Content.Server/Administration/AdminSystem.cs @@ -123,7 +123,11 @@ namespace Content.Server.Administration private PlayerInfo GetPlayerInfo(IPlayerSession session) { var name = session.Name; - var username = session.AttachedEntity?.Name ?? string.Empty; + var username = string.Empty; + + if(session.AttachedEntity != null) + username = session.AttachedEntity.Name; + var antag = session.ContentData()?.Mind?.AllRoles.Any(r => r.Antagonist) ?? false; var uid = session.AttachedEntity?.Uid ?? EntityUid.Invalid; diff --git a/Content.Server/Administration/AdminVerbSystem.cs b/Content.Server/Administration/AdminVerbSystem.cs index cf05a2a747..dff0b62986 100644 --- a/Content.Server/Administration/AdminVerbSystem.cs +++ b/Content.Server/Administration/AdminVerbSystem.cs @@ -180,7 +180,7 @@ namespace Content.Server.Administration // Make ghost role verb if (_groupController.CanCommand(player, "makeghostrole") && - !(args.Target.GetComponentOrNull()?.HasMind ?? false)) + !(IoCManager.Resolve().GetComponentOrNull(args.TargetUid)?.HasMind ?? false)) { Verb verb = new(); verb.Text = Loc.GetString("make-ghost-role-verb-get-data-text"); @@ -194,7 +194,7 @@ namespace Content.Server.Administration // Configuration verb. Is this even used for anything!? if (_groupController.CanAdminMenu(player) && - IoCManager.Resolve().TryGetComponent(args.Target.Uid, out var config)) + IoCManager.Resolve().TryGetComponent(args.TargetUid, out var config)) { Verb verb = new(); verb.Text = Loc.GetString("configure-verb-get-data-text"); diff --git a/Content.Server/Administration/Commands/RejuvenateCommand.cs b/Content.Server/Administration/Commands/RejuvenateCommand.cs index 189aad25cc..f0d1c07e2b 100644 --- a/Content.Server/Administration/Commands/RejuvenateCommand.cs +++ b/Content.Server/Administration/Commands/RejuvenateCommand.cs @@ -53,9 +53,11 @@ namespace Content.Server.Administration.Commands public static void PerformRejuvenate(IEntity target) { - target.GetComponentOrNull()?.UpdateState(0); - target.GetComponentOrNull()?.ResetFood(); - target.GetComponentOrNull()?.ResetThirst(); + var targetUid = target.Uid; + var entMan = IoCManager.Resolve(); + entMan.GetComponentOrNull(targetUid)?.UpdateState(0); + entMan.GetComponentOrNull(targetUid)?.ResetFood(); + entMan.GetComponentOrNull(targetUid)?.ResetThirst(); EntitySystem.Get().TryRemoveAllStatusEffects(target.Uid); diff --git a/Content.Server/Alert/Click/StopPulling.cs b/Content.Server/Alert/Click/StopPulling.cs index 1e098733b4..3c1fcad56e 100644 --- a/Content.Server/Alert/Click/StopPulling.cs +++ b/Content.Server/Alert/Click/StopPulling.cs @@ -3,6 +3,7 @@ using Content.Shared.Pulling; using Content.Shared.Pulling.Components; using JetBrains.Annotations; using Robust.Shared.GameObjects; +using Robust.Shared.IoC; using Robust.Shared.Serialization.Manager.Attributes; namespace Content.Server.Alert.Click @@ -17,11 +18,10 @@ namespace Content.Server.Alert.Click public void AlertClicked(ClickAlertEventArgs args) { var ps = EntitySystem.Get(); - var playerTargetPullable = ps.GetPulled(args.Player)? - .GetComponentOrNull(); - if (playerTargetPullable != null) + var playerTarget = ps.GetPulled(args.Player); + if (playerTarget != null && IoCManager.Resolve().TryGetComponent(playerTarget.Uid, out SharedPullableComponent playerPullable)) { - ps.TryStopPull(playerTargetPullable); + ps.TryStopPull(playerPullable); } } }