fix: Changes Map.Sector.Items to link list. (#1547)
### Summary
Eliminates `IPooledEnumerable<T>` and `eable.Free()` from `Map` for items. This drastically simplifies code that iterates in range, for example:
```cs
foreach (var item in m.GetItemsInRange(5))
{
}
```
The code above no longer requires an eable and calling `Free()`.
This commit is contained in:
parent
1330c4a830
commit
24858f3989
42 changed files with 577 additions and 419 deletions
|
|
@ -98,10 +98,8 @@ namespace Server.Movement
|
|||
|
||||
foreach (var sector in _sectors)
|
||||
{
|
||||
for (var j = 0; j < sector.Items.Count; ++j)
|
||||
foreach (var item in sector.Items)
|
||||
{
|
||||
var item = sector.Items[j];
|
||||
|
||||
if (ignoreMovableImpassables && item.Movable && item.ItemData.ImpassableSurface)
|
||||
{
|
||||
continue;
|
||||
|
|
@ -167,10 +165,8 @@ namespace Server.Movement
|
|||
|
||||
if (!sectorStartIsForward)
|
||||
{
|
||||
for (var i = 0; i < sectorForward.Items.Count; ++i)
|
||||
foreach (var item in sectorForward.Items)
|
||||
{
|
||||
var item = sectorForward.Items[i];
|
||||
|
||||
if (ignoreMovableImpassables && item.Movable && item.ItemData.ImpassableSurface)
|
||||
{
|
||||
continue;
|
||||
|
|
@ -193,10 +189,8 @@ namespace Server.Movement
|
|||
}
|
||||
}
|
||||
|
||||
for (var i = 0; i < sectorStart.Items.Count; ++i)
|
||||
foreach (var item in sectorStart.Items)
|
||||
{
|
||||
var item = sectorStart.Items[i];
|
||||
|
||||
if (ignoreMovableImpassables && item.Movable && item.ItemData.ImpassableSurface)
|
||||
{
|
||||
continue;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue