Fix texture crimes (#12900)

This commit is contained in:
metalgearsloth
2022-12-06 14:35:44 +11:00
committed by GitHub
parent 16111b0668
commit d9a26c76e0
5 changed files with 38 additions and 23 deletions

View File

@@ -1,9 +1,9 @@
using Content.Client.Resources;
using Robust.Client.GameObjects;
using Robust.Client.Graphics;
using Robust.Client.ResourceManagement;
using Robust.Shared.Enums;
using Robust.Shared.Prototypes;
using Robust.Shared.Utility;
namespace Content.Client.DoAfter;
@@ -17,11 +17,12 @@ public sealed class DoAfterOverlay : Overlay
public override OverlaySpace Space => OverlaySpace.WorldSpaceBelowFOV;
public DoAfterOverlay(IEntityManager entManager, IPrototypeManager protoManager, IResourceCache cache)
public DoAfterOverlay(IEntityManager entManager, IPrototypeManager protoManager)
{
_entManager = entManager;
_transform = _entManager.EntitySysManager.GetEntitySystem<SharedTransformSystem>();
_barTexture = cache.GetTexture("/Textures/Interface/Misc/progress_bar.rsi/icon.png");
var sprite = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Interface/Misc/progress_bar.rsi"), "icon");
_barTexture = _entManager.EntitySysManager.GetEntitySystem<SpriteSystem>().Frame0(sprite);
_shader = protoManager.Index<ShaderPrototype>("unshaded").Instance();
}

View File

@@ -2,7 +2,6 @@ using Content.Shared.DoAfter;
using JetBrains.Annotations;
using Robust.Client.Graphics;
using Robust.Client.Player;
using Robust.Client.ResourceManagement;
using Robust.Shared.GameStates;
using Robust.Shared.Prototypes;
using Robust.Shared.Timing;
@@ -18,7 +17,9 @@ namespace Content.Client.DoAfter
public sealed class DoAfterSystem : EntitySystem
{
[Dependency] private readonly IGameTiming _gameTiming = default!;
[Dependency] private readonly IOverlayManager _overlay = default!;
[Dependency] private readonly IPlayerManager _player = default!;
[Dependency] private readonly IPrototypeManager _prototype = default!;
/// <summary>
/// We'll use an excess time so stuff like finishing effects can show.
@@ -31,17 +32,16 @@ namespace Content.Client.DoAfter
UpdatesOutsidePrediction = true;
SubscribeNetworkEvent<CancelledDoAfterMessage>(OnCancelledDoAfter);
SubscribeLocalEvent<DoAfterComponent, ComponentHandleState>(OnDoAfterHandleState);
IoCManager.Resolve<IOverlayManager>().AddOverlay(
_overlay.AddOverlay(
new DoAfterOverlay(
EntityManager,
IoCManager.Resolve<IPrototypeManager>(),
IoCManager.Resolve<IResourceCache>()));
_prototype));
}
public override void Shutdown()
{
base.Shutdown();
IoCManager.Resolve<IOverlayManager>().RemoveOverlay<DoAfterOverlay>();
_overlay.RemoveOverlay<DoAfterOverlay>();
}
private void OnDoAfterHandleState(EntityUid uid, DoAfterComponent component, ref ComponentHandleState args)