fix: Adds GetClients to map iterators (#1574)

### Summary

Eliminates `IPooledEnumerable<NetState>` and `eable.Free()` from `Map` for clients. This drastically simplifies code that iterates in range, for example:

```cs
foreach (var m in m.GetClientsInRange(5))
{
}
```
The code above no longer requires an eable and calling `Free()`.
This commit is contained in:
Kamron Batman 2023-10-30 18:49:00 -07:00 • committed by GitHub
parent 469b89370d
commit cde59a82f2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 347 additions and 162 deletions

View file

@ -505,9 +505,7 @@ public partial class LeverPuzzleController : Item
{
Span<byte> buffer = stackalloc byte[OutgoingMessagePackets.GetMaxMessageLength(Msgs[index])].InitializePacket();
var eable = from.Map.GetClientsInRange(from.Location);
foreach (var state in eable)
foreach (var state in from.Map.GetClientsInRange(from.Location))
{
var length = OutgoingMessagePackets.CreateMessage(
buffer,