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>(); }