/**
 * 多边形应该以顺时针方式定义
 */
class PolygonCollider extends Collider {
    /**
     * 如果这些点没有居中，它们将以localOffset的差异为居中。
     * @param points 
     */
    constructor(points: Vector2[]){
        super();

        // 第一点和最后一点决不能相同。我们想要一个开放的多边形
        let isPolygonClosed = points[0] == points[points.length - 1];

        // 最后一个移除
        if (isPolygonClosed)
            points.splice(points.length - 1, 1);

        let center = Polygon.findPolygonCenter(points);
        this.setLocalOffset(center);
        Polygon.recenterPolygonVerts(points);
        this.shape = new Polygon(points);
    }
}