public List<Creature> GetCreaturesInPolygon(params Point[] points)
{
var result = new List<Creature>();
_creaturesRWLS.EnterReadLock();
try
{
result.AddRange(_creatures.Values.Where(a => a.GetPosition().InPolygon(points)));
}
finally
{
_creaturesRWLS.ExitReadLock();
}
return result;
}