Inheritance: MonoBehaviour
    void OnEnable()
    {
        ac = (ArcCollider2D)target;
        if (ac.gameObject.transform.childCount == 0)
        {
            edgeHolder = new GameObject();
            edgeHolder.transform.SetParent(ac.transform, false);
        }
        else
        {
            edgeHolder = ac.gameObject.transform.GetChild(0).gameObject;
        }

        Vector2[] edges = ac.getPoints(Vector2.zero);
        if (edgeHolder.GetComponents <EdgeCollider2D> ().Length == 0)
        {
            for (int i = 0; i < edges.Length - 1; i++)
            {
                EdgeCollider2D ec     = edgeHolder.AddComponent <EdgeCollider2D> ();
                Vector2[]      points = new Vector2[2];
                points [0] = edges [i];
                points [1] = edges [i + 1];
                ec.points  = points;
            }
        }
    }
    void OnEnable()
    {
        ac = (ArcCollider2D)target;

        edgeCollider = ac.GetComponent<EdgeCollider2D>();
        if (edgeCollider == null) {
            ac.gameObject.AddComponent<EdgeCollider2D>();
            edgeCollider = ac.GetComponent<EdgeCollider2D>();
        }
        edgeCollider.points = ac.getPoints(edgeCollider.offset);
    }
    void OnEnable()
    {
        ac = (ArcCollider2D)target;

        edgeCollider = ac.GetComponent <EdgeCollider2D>();
        if (edgeCollider == null)
        {
            ac.gameObject.AddComponent <EdgeCollider2D>();
            edgeCollider = ac.GetComponent <EdgeCollider2D>();
        }
        edgeCollider.points = ac.getPoints(edgeCollider.offset);
    }
    void OnEnable()
    {
        ac = (ArcCollider2D)target;

        polyCollider = ac.GetComponent <PolygonCollider2D>();
        if (polyCollider == null)
        {
            ac.gameObject.AddComponent <PolygonCollider2D>();
            polyCollider = ac.GetComponent <PolygonCollider2D>();
        }
        polyCollider.points = ac.getPoints(polyCollider.offset);
    }