public IEnumerable <Mob> GetMobsInCircle(Vector2 origin, int radius) { IEnumerable <Mob> mobsInRectangle = GetMobsInRectangle( new Rectangle((int)origin.X - radius, (int)origin.Y - radius, radius * 2, radius * 2)); HashedList <Mob> results = new HashedList <Mob>(); foreach (Mob mob in mobsInRectangle) { if (Vector2.Distance(mob.PositionInWorldByUpdate, origin) <= Math.Abs(mob.CollisionRectangle.Width / 2 + radius)) { results.Add(mob); } } return(results); }
public MutableDistinctSet() { _values = new HashedList <T>(); _valuesToAdd = new HashedList <T>(); _valuesToRemove = new HashedList <T>(); }