diff --git a/Robust.Client/Player/LocalPlayer.cs b/Robust.Client/Player/LocalPlayer.cs index 0e88dfa2a7..fcace4e08c 100644 --- a/Robust.Client/Player/LocalPlayer.cs +++ b/Robust.Client/Player/LocalPlayer.cs @@ -56,7 +56,7 @@ namespace Robust.Client.Player /// Attaches a client to an entity. /// /// Entity to attach the client to. - public void AttachEntity(EntityUid entity) + public void AttachEntity(EntityUid entity, IEntityManager entMan, IBaseClient client) { if (ControlledEntity == entity) return; @@ -64,8 +64,6 @@ namespace Robust.Client.Player // Detach and cleanup first DetachEntity(); - var entMan = IoCManager.Resolve(); - if (!entMan.EntityExists(entity)) { Logger.Error($"Attempting to attach player to non-existent entity {entity}!"); @@ -80,7 +78,7 @@ namespace Robust.Client.Player { eye = entMan.AddComponent(entity); - if (IoCManager.Resolve().RunLevel != ClientRunLevel.SinglePlayerGame) + if (client.RunLevel != ClientRunLevel.SinglePlayerGame) { Logger.Warning($"Attaching local player to an entity {entMan.ToPrettyString(entity)} without an eye. This eye will not be netsynced and may cause issues."); } diff --git a/Robust.Client/Player/PlayerManager.cs b/Robust.Client/Player/PlayerManager.cs index 5286e1e4c6..3814090b00 100644 --- a/Robust.Client/Player/PlayerManager.cs +++ b/Robust.Client/Player/PlayerManager.cs @@ -23,6 +23,7 @@ namespace Robust.Client.Player { [Dependency] private readonly IClientNetManager _network = default!; [Dependency] private readonly IBaseClient _client = default!; + [Dependency] private readonly IEntityManager _entManager = default!; /// /// Active sessions of connected clients to the server. @@ -153,7 +154,7 @@ namespace Robust.Client.Player return; } - LocalPlayer.AttachEntity(entity.Value); + LocalPlayer.AttachEntity(entity.Value, _entManager, _client); } ///