Overlays: Avoid using IEyeManager whenever possible (#5709)

This commit is contained in:
E F R
2021-12-10 05:47:21 +00:00
committed by GitHub
parent b3a4e3f557
commit 8bd386dcb0
13 changed files with 39 additions and 42 deletions

View File

@@ -16,7 +16,6 @@ namespace Content.Client.Suspicion
[Dependency] private readonly IGameHud _gameHud = default!;
[Dependency] private readonly IOverlayManager _overlayManager = default!;
[Dependency] private readonly IResourceCache _resourceCache = default!;
[Dependency] private readonly IEyeManager _eyeManager = default!;
private SuspicionGui? _gui;
private string? _role;
@@ -72,7 +71,7 @@ namespace Content.Client.Suspicion
}
_overlayActive = true;
var overlay = new TraitorOverlay(IoCManager.Resolve<IEntityManager>(), _resourceCache, _eyeManager);
var overlay = new TraitorOverlay(IoCManager.Resolve<IEntityManager>(), _resourceCache);
_overlayManager.AddOverlay(overlay);
}

View File

@@ -15,7 +15,6 @@ namespace Content.Client.Suspicion
public class TraitorOverlay : Overlay
{
private readonly IEntityManager _entityManager;
private readonly IEyeManager _eyeManager;
private readonly IPlayerManager _playerManager;
public override OverlaySpace Space => OverlaySpace.ScreenSpace;
@@ -25,20 +24,18 @@ namespace Content.Client.Suspicion
public TraitorOverlay(
IEntityManager entityManager,
IResourceCache resourceCache,
IEyeManager eyeManager)
IResourceCache resourceCache)
{
_playerManager = IoCManager.Resolve<IPlayerManager>();
_entityManager = entityManager;
_eyeManager = eyeManager;
_font = new VectorFont(resourceCache.GetResource<FontResource>("/Fonts/NotoSans/NotoSans-Regular.ttf"), 10);
}
protected override void Draw(in OverlayDrawArgs args)
{
var viewport = _eyeManager.GetWorldViewport();
var viewport = args.WorldAABB;
var ent = _playerManager.LocalPlayer?.ControlledEntity;
if (_entityManager.TryGetComponent(ent, out SuspicionRoleComponent? sus) != true)
@@ -68,7 +65,10 @@ namespace Content.Client.Suspicion
}
// if not on the same map, continue
if (_entityManager.GetComponent<TransformComponent>(physics.Owner).MapID != _eyeManager.CurrentMap || physics.Owner.IsInContainer())
if (_entityManager
.GetComponent<TransformComponent>(physics.Owner)
.MapID != args.Viewport.Eye!.Position.MapId
|| physics.Owner.IsInContainer())
{
continue;
}