diff --git a/Content.Client/DoAfter/DoAfterOverlay.cs b/Content.Client/DoAfter/DoAfterOverlay.cs index b16835c46f..524681ffb6 100644 --- a/Content.Client/DoAfter/DoAfterOverlay.cs +++ b/Content.Client/DoAfter/DoAfterOverlay.cs @@ -2,34 +2,28 @@ using Content.Client.Resources; using Robust.Client.GameObjects; using Robust.Client.Graphics; using Robust.Client.ResourceManagement; -using Robust.Shared; -using Robust.Shared.Configuration; using Robust.Shared.Enums; using Robust.Shared.Prototypes; -using Robust.Shared.Timing; namespace Content.Client.DoAfter; public sealed class DoAfterOverlay : Overlay { - [Dependency] private readonly IConfigurationManager _configManager = default!; - [Dependency] private readonly IEntityManager _entManager = default!; - [Dependency] private readonly IGameTiming _timing = default!; + private readonly IEntityManager _entManager; private readonly SharedTransformSystem _transform; - private Texture _barTexture; - private ShaderInstance _shader; + private readonly Texture _barTexture; + private readonly ShaderInstance _shader; public override OverlaySpace Space => OverlaySpace.WorldSpaceBelowFOV; - public DoAfterOverlay() + public DoAfterOverlay(IEntityManager entManager, IPrototypeManager protoManager, IResourceCache cache) { - IoCManager.InjectDependencies(this); + _entManager = entManager; _transform = _entManager.EntitySysManager.GetEntitySystem(); - _barTexture = IoCManager.Resolve() - .GetTexture("/Textures/Interface/Misc/progress_bar.rsi/icon.png"); + _barTexture = cache.GetTexture("/Textures/Interface/Misc/progress_bar.rsi/icon.png"); - _shader = IoCManager.Resolve().Index("unshaded").Instance(); + _shader = protoManager.Index("unshaded").Instance(); } protected override void Draw(in OverlayDrawArgs args) @@ -39,7 +33,8 @@ public sealed class DoAfterOverlay : Overlay var spriteQuery = _entManager.GetEntityQuery(); var xformQuery = _entManager.GetEntityQuery(); - var scale = _configManager.GetCVar(CVars.DisplayUIScale); + // If you use the display UI scale then need to set max(1f, displayscale) because 0 is valid. + const float scale = 1f; var scaleMatrix = Matrix3.CreateScale(new Vector2(scale, scale)); var rotationMatrix = Matrix3.CreateRotation(-rotation); handle.UseShader(_shader); diff --git a/Content.Client/DoAfter/DoAfterSystem.cs b/Content.Client/DoAfter/DoAfterSystem.cs index 20a6367f80..eb1d1273a1 100644 --- a/Content.Client/DoAfter/DoAfterSystem.cs +++ b/Content.Client/DoAfter/DoAfterSystem.cs @@ -1,11 +1,10 @@ using Content.Shared.DoAfter; -using Content.Shared.Examine; using JetBrains.Annotations; using Robust.Client.Graphics; using Robust.Client.Player; -using Robust.Shared.Collections; +using Robust.Client.ResourceManagement; using Robust.Shared.GameStates; -using Robust.Shared.Network; +using Robust.Shared.Prototypes; using Robust.Shared.Timing; using Robust.Shared.Utility; @@ -32,7 +31,11 @@ namespace Content.Client.DoAfter UpdatesOutsidePrediction = true; SubscribeNetworkEvent(OnCancelledDoAfter); SubscribeLocalEvent(OnDoAfterHandleState); - IoCManager.Resolve().AddOverlay(new DoAfterOverlay()); + IoCManager.Resolve().AddOverlay( + new DoAfterOverlay( + EntityManager, + IoCManager.Resolve(), + IoCManager.Resolve())); } public override void Shutdown() @@ -83,7 +86,8 @@ namespace Content.Client.DoAfter private void OnCancelledDoAfter(CancelledDoAfterMessage ev) { - if (!TryComp(ev.Uid, out var doAfter)) return; + if (!TryComp(ev.Uid, out var doAfter)) + return; Cancel(doAfter, ev.ID); } @@ -91,7 +95,6 @@ namespace Content.Client.DoAfter /// /// Remove a DoAfter without showing a cancellation graphic. /// - /// public void Remove(DoAfterComponent component, ClientDoAfter clientDoAfter) { component.DoAfters.Remove(clientDoAfter.ID);