public abstract bool IntersectVisit(Shape other);
 public override bool IntersectVisit(Shape other)
 {
     return other.Intersect(this);
 }
 public ShapeObject(Shape collisionShape)
 {
     _collisionShape = collisionShape;
 }