Adds better type support for pooled enumerables. Refactors code. (#16)

This commit is contained in:
Kamron Batman 2018-08-09 14:08:34 -07:00 • committed by GitHub
parent 62b95f4d74
commit b06f5bf60d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
48 changed files with 252 additions and 243 deletions

View file

@ -4710,15 +4710,18 @@ namespace Server
}
#region Get*InRange
public IPooledEnumerable<Item> GetItemsInRange( int range )
public IPooledEnumerable<Item> GetItemsInRange(int range)
{
return GetItemsInRange<Item>(range);
}
public IPooledEnumerable<T> GetItemsInRange<T>( int range ) where T : Item
{
Map map = m_Map;
if( map == null )
return Server.Map.NullEnumerable<Item>.Instance;
return Server.Map.NullEnumerable<T>.Instance;
return map.GetItemsInRange( m_Location, range );
return map.GetItemsInRange<T>( m_Location, range );
}
public IPooledEnumerable<IEntity> GetObjectsInRange( int range )
@ -4732,13 +4735,17 @@ namespace Server
}
public IPooledEnumerable<Mobile> GetMobilesInRange( int range )
{
return GetMobilesInRange<Mobile>(range);
}
public IPooledEnumerable<T> GetMobilesInRange<T>(int range) where T : Mobile
{
Map map = m_Map;
if( map == null )
return Server.Map.NullEnumerable<Mobile>.Instance;
if (map == null)
return Server.Map.NullEnumerable<T>.Instance;
return map.GetMobilesInRange( m_Location, range );
return map.GetMobilesInRange<T>(m_Location, range);
}
public IPooledEnumerable<NetState> GetClientsInRange(int range)