public virtual bool doesCollideWith(ISprite otherSprite) { // no collision with self. if (Equals(otherSprite)) return false; return GetBoundingBox().Intersects(otherSprite.GetBoundingBox()); }