public static polygonToPolygon ( |
||
first | Polygon a. | |
second | Polygon b. | |
result | CollisionResult | |
리턴 | bool |
public override bool collidesWithShape(Shape other, out CollisionResult result) { if (other is Polygon) { return(ShapeCollisions.polygonToPolygon(this, other as Polygon, out result)); } if (other is Circle && ShapeCollisions.circleToPolygon(other as Circle, this, out result)) { result.invertResult(); return(true); } throw new NotImplementedException(string.Format("overlaps of Polygon to {0} are not supported", other)); }
public override bool overlaps(Shape other) { CollisionResult result; if (other is Polygon) { return(ShapeCollisions.polygonToPolygon(this, other as Polygon, out result)); } if (other is Circle) { ShapeCollisions.circleToPolygon(other as Circle, this, out result); } throw new NotImplementedException(string.Format("overlaps of Polygon to {0} are not supported", other)); }
public override bool collidesWithShape(Shape other, out CollisionResult result) { if (other is Polygon) { return(ShapeCollisions.polygonToPolygon(this, other as Polygon, out result)); } if (other is Circle && ShapeCollisions.circleToPolygon(other as Circle, this, out result)) { // TODO: flip the result since the colliding objects are reversed throw new NotImplementedException("ShapeCollisionResult will probably be wrong due to the result needing to be flipped. TODO"); //return true; } throw new NotImplementedException(string.Format("overlaps of Polygon to {0} are not supported", other)); }