Gun spread overlay (#8588)

This commit is contained in:
metalgearsloth
2022-06-04 14:19:14 +10:00
committed by GitHub
parent 27b3ca04c5
commit e06cabecbb
7 changed files with 142 additions and 4 deletions

View File

@@ -13,6 +13,7 @@ using Robust.Shared.Audio;
using Robust.Shared.Input;
using Robust.Shared.Map;
using Robust.Shared.Player;
using Robust.Shared.Timing;
using Robust.Shared.Utility;
using SharedGunSystem = Content.Shared.Weapons.Ranged.Systems.SharedGunSystem;
@@ -27,6 +28,34 @@ public sealed partial class GunSystem : SharedGunSystem
[Dependency] private readonly EffectSystem _effects = default!;
[Dependency] private readonly InputSystem _inputSystem = default!;
public bool SpreadOverlay
{
get => _spreadOverlay;
set
{
if (_spreadOverlay == value) return;
_spreadOverlay = value;
var overlayManager = IoCManager.Resolve<IOverlayManager>();
if (_spreadOverlay)
{
overlayManager.AddOverlay(new GunSpreadOverlay(
EntityManager,
IoCManager.Resolve<IEyeManager>(),
IoCManager.Resolve<IGameTiming>(),
IoCManager.Resolve<IInputManager>(),
IoCManager.Resolve<IPlayerManager>(),
this));
}
else
{
overlayManager.RemoveOverlay<GunSpreadOverlay>();
}
}
}
private bool _spreadOverlay;
public override void Initialize()
{
base.Initialize();