public override CollisionData Collide(Shape other) { #if PLATFORM_IOS // Generic Virtual Methods cannot be called in iOS, due to iOS not allowing JIT-compiling if (other is Circle) { return(CollisionChecks.CircleCircle(this, (Circle)other)); } else if (other is OABB) { return(CollisionChecks.CirclePolygon(this, (OABB)other)); } else if (other is Polygon) { return(CollisionChecks.CirclePolygon(this, (Polygon)other)); } else if (other is CompoundShape) { return(CollisionData.Empty); } else { return(CollisionData.Empty); } #else return(other.Accept <CollisionData, Circle>(visitor, this)); #endif }
public CollisionData Visit(Circle other, Polygon self) { CollisionData r = CollisionChecks.CirclePolygon(other, self); r.Invert(); return(r); }
public CollisionData Visit(Circle other, Circle self) { return(CollisionChecks.CircleCircle(self, other)); }
public CollisionData Visit(Polygon other, Circle self) { return(CollisionChecks.CirclePolygon(self, other)); }
public CollisionData Visit(Polygon other, Polygon self) { return(CollisionChecks.PolygonPolygon(self, other)); }