Tweaks to ContainerAmmoProvider (#15945)

This commit is contained in:
AJCM-git
2023-04-30 06:49:26 -04:00
committed by GitHub
parent 3457c6c636
commit 2564ff8918
2 changed files with 11 additions and 4 deletions

View File

@@ -11,7 +11,7 @@ public partial class SharedGunSystem
[Dependency] private readonly INetManager _netMan = default!;
[Dependency] private readonly SharedContainerSystem _container = default!;
public void InitializeContainer()
private void InitializeContainer()
{
SubscribeLocalEvent<ContainerAmmoProviderComponent, TakeAmmoEvent>(OnContainerTakeAmmo);
SubscribeLocalEvent<ContainerAmmoProviderComponent, GetAmmoCountEvent>(OnContainerAmmoCount);
@@ -19,10 +19,11 @@ public partial class SharedGunSystem
private void OnContainerTakeAmmo(EntityUid uid, ContainerAmmoProviderComponent component, TakeAmmoEvent args)
{
if (!_container.TryGetContainer(uid, component.Container, out var container))
component.ProviderUid ??= uid;
if (!_container.TryGetContainer(component.ProviderUid.Value, component.Container, out var container))
return;
for (int i = 0; i < args.Shots; i++)
for (var i = 0; i < args.Shots; i++)
{
if (!container.ContainedEntities.Any())
break;
@@ -38,7 +39,8 @@ public partial class SharedGunSystem
private void OnContainerAmmoCount(EntityUid uid, ContainerAmmoProviderComponent component, ref GetAmmoCountEvent args)
{
if (!_container.TryGetContainer(uid, component.Container, out var container))
component.ProviderUid ??= uid;
if (!_container.TryGetContainer(component.ProviderUid.Value, component.Container, out var container))
{
args.Capacity = 0;
args.Count = 0;