public bool Intersects <T>(T edgedShape) where T : IEdgedShape => Colliders.Any(x => x.Intersects(edgedShape));
public bool Intersects(Circle circle) => Colliders.Any(x => x.Intersects(circle));
public bool Intersects(Segment segment) => Colliders.Any(x => x.Intersects(segment));
public bool ContainsPoint(Vector2 point) => Colliders.Any(x => x.ContainsPoint(point));
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))); }