Example #1
0
 public bool Intersects <T>(T edgedShape) where T : IEdgedShape => Colliders.Any(x => x.Intersects(edgedShape));
Example #2
0
 public bool Intersects(Circle circle) => Colliders.Any(x => x.Intersects(circle));
Example #3
0
 public bool Intersects(Segment segment) => Colliders.Any(x => x.Intersects(segment));
Example #4
0
 public bool ContainsPoint(Vector2 point) => Colliders.Any(x => x.ContainsPoint(point));
Example #5
0
        public void Update(ElapsedTime elapsedTime)
        {
            IEnumerable <Trigger> newActivatedTriggers = _triggerManager.Space.GetAllItemsInRange(BoundingBox).Where(trigger => Colliders.Any(collider => collider.Intersects(trigger.Shape))).ToArray();

            IEnumerable <Trigger> enteredTriggers, leavedTriggers;

            if (!_activatedTriggers.SetDiff(newActivatedTriggers, out enteredTriggers, out leavedTriggers))
            {
                return;
            }

            foreach (Trigger trigger in leavedTriggers)
            {
                trigger.Leave(this);
            }

            foreach (Trigger trigger in enteredTriggers)
            {
                trigger.Enter(this);
            }

            _activatedTriggers.Clear();
            _activatedTriggers.AddRange(newActivatedTriggers);
        }
 public override Boolean Collides(Collider other)
 {
     return(Colliders.Any(c => c.Collides(other)));
 }
 public override Boolean Intercepts(TgcRay ray)
 {
     return(Colliders.Any(c => c.Intercepts(ray)));
 }