예제 #1
0
파일: Scene.cs 프로젝트: jlauener/MonoPunk
 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);
     });
 }
예제 #2
0
파일: Scene.cs 프로젝트: jlauener/MonoPunk
        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);
            });
        }