public override void OnInspectorGUI() { GUI.changed = false; DrawDefaultInspector(); ac.advanced = EditorGUILayout.Toggle("Advanced", ac.advanced); if (ac.advanced) { ac.radius = EditorGUILayout.FloatField("Radius", ac.radius); } else { ac.radius = EditorGUILayout.Slider("Radius", ac.radius, 1, 25); } if (!ac.pizzaSlice) { if (ac.advanced) { ac.Thickness = EditorGUILayout.FloatField("Thickness", ac.Thickness); } else { ac.Thickness = EditorGUILayout.Slider("Thickness", ac.Thickness, 1, 25); } } if (GUI.changed || !off.Equals(polyCollider.offset)) { polyCollider.points = ac.getPoints(polyCollider.offset); } off = polyCollider.offset; }
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; } } }
public override void OnInspectorGUI() { GUI.changed = false; DrawDefaultInspector(); if (GUI.changed || !off.Equals(edgeCollider.offset)) { edgeCollider.points = ac.getPoints(edgeCollider.offset); } off = 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; 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); }
public override void OnInspectorGUI() { GUI.changed = false; DrawDefaultInspector(); Vector2[] edges = ac.getPoints(Vector2.zero); //Check if we need to add/remove colliders if (edgeHolder.GetComponents <EdgeCollider2D> ().Length != edges.Length - 1) { EdgeCollider2D[] oldColliders = edgeHolder.GetComponents <EdgeCollider2D> (); for (int k = 0; k < oldColliders.Length; k++) { DestroyImmediate(oldColliders[k]); } 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; } } else { EdgeCollider2D[] ecs = edgeHolder.GetComponents <EdgeCollider2D> (); for (int i = 0; i < ecs.Length; i++) { EdgeCollider2D ec = ecs [i]; Vector2[] points = new Vector2[2]; points [0] = edges [i]; points [1] = edges [i + 1]; ec.points = points; } } }