fix: Fixes container enumeration not recycling pooled arrays (#2341)

### Summary

Updates all calls to container.EnumerateItems() to properly dispose of the underlying PooledRefQueue so that we are properly recycling pooled arrays.
This commit is contained in:
Kamron Batman 2026-02-17 09:54:32 -08:00 committed by GitHub
parent 1780edf0be
commit c494fb4cc3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 388 additions and 365 deletions

View file

@ -410,7 +410,8 @@ public abstract class Faction : IComparable<Faction>
if (mob.Backpack != null)
{
foreach (var sigil in mob.Backpack.EnumerateItemsByType<Sigil>())
using var queue = mob.Backpack.EnumerateItemsByType<Sigil>();
foreach (var sigil in queue)
{
sigil.ReturnHome();
}
@ -1073,7 +1074,8 @@ public abstract class Faction : IComparable<Faction>
if (victim.Backpack != null)
{
foreach (var sigil in victim.Backpack.EnumerateItemsByType<Sigil>())
using var queue = victim.Backpack.EnumerateItemsByType<Sigil>();
foreach (var sigil in queue)
{
if (killerState == null || killerPack == null)
{
@ -1254,7 +1256,8 @@ public abstract class Faction : IComparable<Faction>
{
if (m.Backpack != null)
{
foreach (var sigil in m.Backpack.EnumerateItemsByType<Sigil>())
using var queue = m.Backpack.EnumerateItemsByType<Sigil>();
foreach (var sigil in queue)
{
sigil.ReturnHome();
}