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
|
|
@ -117,9 +117,13 @@ namespace Server.Mobiles
|
|||
{
|
||||
p = GetSpawnPosition(2);
|
||||
|
||||
var eable = Map.GetItemsInRange<StainedOoze>(p, 0);
|
||||
using var enumerator = eable.GetEnumerator();
|
||||
bool atLocation = enumerator.MoveNext();
|
||||
var atLocation = false;
|
||||
foreach (var item in Map.GetItemsInRange<StainedOoze>(p, 0))
|
||||
{
|
||||
atLocation = true;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!atLocation)
|
||||
{
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -234,9 +234,13 @@ namespace Server.Mobiles
|
|||
{
|
||||
p = GetSpawnPosition(2);
|
||||
|
||||
var eable = Map.GetItemsInRange<StainedOoze>(p, 0);
|
||||
using var enumerator = eable.GetEnumerator();
|
||||
bool atLocation = enumerator.MoveNext();
|
||||
var atLocation = false;
|
||||
foreach (var item in Map.GetItemsInRange<StainedOoze>(p, 0))
|
||||
{
|
||||
atLocation = true;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!atLocation)
|
||||
{
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -165,18 +165,13 @@ namespace Server.Mobiles
|
|||
base.OnThink();
|
||||
|
||||
// Check to see if we need to devour any corpses
|
||||
var eable = GetItemsInRange<Corpse>(3); // Get all corpses in range
|
||||
|
||||
foreach (var item in eable)
|
||||
// Ensure that the corpse was killed by us
|
||||
foreach (var item in GetItemsInRange<Corpse>(3)) // Get all corpses in range
|
||||
{
|
||||
// Ensure that the corpse was killed by us
|
||||
if (item.Killer == this && item.Owner != null && !item.DevourCorpse() && !item.Devoured)
|
||||
{
|
||||
PublicOverheadMessage(
|
||||
MessageType.Emote,
|
||||
0x3B2,
|
||||
1053032
|
||||
); // * The plague beast attempts to absorb the remains, but cannot! *
|
||||
// * The plague beast attempts to absorb the remains, but cannot! *
|
||||
PublicOverheadMessage(MessageType.Emote, 0x3B2, 1053032);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue