Don't scale do_afters (#10553)

This commit is contained in:
metalgearsloth
2022-08-13 23:01:23 +10:00
committed by GitHub
parent 21eaa21673
commit 0dcac22e42
2 changed files with 18 additions and 20 deletions

View File

@@ -2,34 +2,28 @@ using Content.Client.Resources;
using Robust.Client.GameObjects; using Robust.Client.GameObjects;
using Robust.Client.Graphics; using Robust.Client.Graphics;
using Robust.Client.ResourceManagement; using Robust.Client.ResourceManagement;
using Robust.Shared;
using Robust.Shared.Configuration;
using Robust.Shared.Enums; using Robust.Shared.Enums;
using Robust.Shared.Prototypes; using Robust.Shared.Prototypes;
using Robust.Shared.Timing;
namespace Content.Client.DoAfter; namespace Content.Client.DoAfter;
public sealed class DoAfterOverlay : Overlay public sealed class DoAfterOverlay : Overlay
{ {
[Dependency] private readonly IConfigurationManager _configManager = default!; private readonly IEntityManager _entManager;
[Dependency] private readonly IEntityManager _entManager = default!;
[Dependency] private readonly IGameTiming _timing = default!;
private readonly SharedTransformSystem _transform; private readonly SharedTransformSystem _transform;
private Texture _barTexture; private readonly Texture _barTexture;
private ShaderInstance _shader; private readonly ShaderInstance _shader;
public override OverlaySpace Space => OverlaySpace.WorldSpaceBelowFOV; 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<SharedTransformSystem>(); _transform = _entManager.EntitySysManager.GetEntitySystem<SharedTransformSystem>();
_barTexture = IoCManager.Resolve<IResourceCache>() _barTexture = cache.GetTexture("/Textures/Interface/Misc/progress_bar.rsi/icon.png");
.GetTexture("/Textures/Interface/Misc/progress_bar.rsi/icon.png");
_shader = IoCManager.Resolve<IPrototypeManager>().Index<ShaderPrototype>("unshaded").Instance(); _shader = protoManager.Index<ShaderPrototype>("unshaded").Instance();
} }
protected override void Draw(in OverlayDrawArgs args) protected override void Draw(in OverlayDrawArgs args)
@@ -39,7 +33,8 @@ public sealed class DoAfterOverlay : Overlay
var spriteQuery = _entManager.GetEntityQuery<SpriteComponent>(); var spriteQuery = _entManager.GetEntityQuery<SpriteComponent>();
var xformQuery = _entManager.GetEntityQuery<TransformComponent>(); var xformQuery = _entManager.GetEntityQuery<TransformComponent>();
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 scaleMatrix = Matrix3.CreateScale(new Vector2(scale, scale));
var rotationMatrix = Matrix3.CreateRotation(-rotation); var rotationMatrix = Matrix3.CreateRotation(-rotation);
handle.UseShader(_shader); handle.UseShader(_shader);

View File

@@ -1,11 +1,10 @@
using Content.Shared.DoAfter; using Content.Shared.DoAfter;
using Content.Shared.Examine;
using JetBrains.Annotations; using JetBrains.Annotations;
using Robust.Client.Graphics; using Robust.Client.Graphics;
using Robust.Client.Player; using Robust.Client.Player;
using Robust.Shared.Collections; using Robust.Client.ResourceManagement;
using Robust.Shared.GameStates; using Robust.Shared.GameStates;
using Robust.Shared.Network; using Robust.Shared.Prototypes;
using Robust.Shared.Timing; using Robust.Shared.Timing;
using Robust.Shared.Utility; using Robust.Shared.Utility;
@@ -32,7 +31,11 @@ namespace Content.Client.DoAfter
UpdatesOutsidePrediction = true; UpdatesOutsidePrediction = true;
SubscribeNetworkEvent<CancelledDoAfterMessage>(OnCancelledDoAfter); SubscribeNetworkEvent<CancelledDoAfterMessage>(OnCancelledDoAfter);
SubscribeLocalEvent<DoAfterComponent, ComponentHandleState>(OnDoAfterHandleState); SubscribeLocalEvent<DoAfterComponent, ComponentHandleState>(OnDoAfterHandleState);
IoCManager.Resolve<IOverlayManager>().AddOverlay(new DoAfterOverlay()); IoCManager.Resolve<IOverlayManager>().AddOverlay(
new DoAfterOverlay(
EntityManager,
IoCManager.Resolve<IPrototypeManager>(),
IoCManager.Resolve<IResourceCache>()));
} }
public override void Shutdown() public override void Shutdown()
@@ -83,7 +86,8 @@ namespace Content.Client.DoAfter
private void OnCancelledDoAfter(CancelledDoAfterMessage ev) private void OnCancelledDoAfter(CancelledDoAfterMessage ev)
{ {
if (!TryComp<DoAfterComponent>(ev.Uid, out var doAfter)) return; if (!TryComp<DoAfterComponent>(ev.Uid, out var doAfter))
return;
Cancel(doAfter, ev.ID); Cancel(doAfter, ev.ID);
} }
@@ -91,7 +95,6 @@ namespace Content.Client.DoAfter
/// <summary> /// <summary>
/// Remove a DoAfter without showing a cancellation graphic. /// Remove a DoAfter without showing a cancellation graphic.
/// </summary> /// </summary>
/// <param name="clientDoAfter"></param>
public void Remove(DoAfterComponent component, ClientDoAfter clientDoAfter) public void Remove(DoAfterComponent component, ClientDoAfter clientDoAfter)
{ {
component.DoAfters.Remove(clientDoAfter.ID); component.DoAfters.Remove(clientDoAfter.ID);