public void QueryRect(float x, float y, int width, int height, QuerySelector selector, Func <Entity, bool> callback) { selector.Select(this, (entity) => { if (entity.CollideRect(x, y, width, height) != HitInfo.None) { return(callback(entity)); } return(false); }); }
public void QueryCircle(Vector2 position, float radius, QuerySelector selector, Func <Entity, bool> callback) { var radiusSquared = radius * radius; selector.Select(this, (entity) => { if (position.DistanceSquared(entity.Position) < radiusSquared) { return(callback(entity)); } return(false); }); }