[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);
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;
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;