public override void OnInspectorGUI()
 {
     DrawDefaultInspector();
     GUI.enabled = !EditorApplication.isPlaying;
     if (GUILayout.Button("Auto Select PolygonCollider2Ds"))
     {
         pc2dw.autoSelectTargetLists();
     }
     if (GUILayout.Button("Cut PolygonCollider2D"))
     {
         if (EditorApplication.isPlaying)
         {
             throw new UnityException("You must be in Edit Mode to use this function!");
         }
         pc2dwCurrent = pc2dw;
         pc2dw.cleanTargetLists();
         stencilShape = new Shape(stencil);
         //PolygonCollider2D
         int originalCount = pc2dw.pc2dTargets.Count;
         for (int i = 0; i < originalCount; i++)
         {
             PolygonCollider2D pc2d = (PolygonCollider2D)pc2dw.pc2dTargets[i];
             cutCollider(new Shape(pc2d), stencilShape);
         }
         //SpriteShape
         originalCount = pc2dw.spriteShapeTargets.Count;
         for (int i = 0; i < originalCount; i++)
         {
             SpriteShapeController ssc = (SpriteShapeController)pc2dw.spriteShapeTargets[i];
             cutCollider(new Shape(ssc), stencilShape);
         }
     }
 }
 private void OnEnable()
 {
     pc2dw   = (PolygonCollider2DWorker)target;
     stencil = pc2dw.GetComponent <PolygonCollider2D>();
 }